Topik ini menjelaskan cara mengaktifkan binary logging untuk klaster PolarDB.
Informasi latar belakang
PolarDB adalah database cloud-native yang sepenuhnya kompatibel dengan MySQL. Secara default, PolarDB menggunakan log fisik tingkat tinggi alih-alih binary log. Untuk integrasi yang lebih baik dengan ekosistem MySQL, PolarDB mendukung pengaktifan manual binary logging. Setelah Anda mengaktifkan binary logging, Anda dapat menghubungkan ke layanan data seperti ElasticSearch dan AnalyticDB serta menyiapkan sinkronisasi data real-time dari PolarDB ke RDS, dari RDS ke PolarDB, atau antar klaster PolarDB.
Batasan
Jika klaster PolarDB Anda dibuat setelah 5 April 2019, Anda dapat langsung mengaktifkan binary logging. Jika klaster PolarDB Anda dibuat sebelum 5 April 2019, Anda harus terlebih dahulu melakukan peningkatan versi minor klaster ke versi terbaru sebelum mengaktifkan binary logging. Untuk informasi selengkapnya tentang cara melakukan peningkatan versi minor, lihat Manajemen versi minor.
Penagihan
File binary log menempati sebagian storage space klaster dan dikenakan biaya penyimpanan. Anda dapat menyesuaikan storage space yang digunakan oleh file binary log dengan mengatur periode retensi binary log.
Contoh penagihan
Langganan
Jika klaster Anda sudah memiliki tipe penyimpanan berbasis langganan, tidak ada biaya tambahan yang dikenakan jika storage space mencukupi.

Pay-as-you-go
Jika klaster Anda menggunakan tipe penyimpanan pay-as-you-go, ruang binary log dikenakan biaya hanya berdasarkan storage space aktual yang digunakan oleh data.

Catatan penggunaan
-
Binary logging dinonaktifkan secara default. Setelah Anda mengaktifkan binary logging, klaster akan restart secara otomatis. Biasanya, tugas restart selesai dalam waktu 5 menit. Selama restart, layanan mengalami gangguan sementara sekitar 40 detik. Durasi pastinya bergantung pada volume data dan jumlah tabel. Kami menyarankan Anda melakukan operasi ini selama jam sepi dan memastikan aplikasi Anda memiliki mekanisme rekoneksi.
-
Setelah binary logging diaktifkan, performa write menurun sedangkan performa read tidak terpengaruh. Dalam kebanyakan kasus, dampak performa akibat mengaktifkan binary logging tidak melebihi 10%. Dalam kondisi tekanan ekstrem, dampaknya bisa mencapai 40%. Untuk informasi selengkapnya, lihat FAQ.
-
Saat menarik, berlangganan, atau menyinkronkan binary log (misalnya, dengan menggunakan tool seperti DTS), kami menyarankan Anda menggunakan PolarDBPrimary Endpoint karena langsung mengarah ke node primary yang menghasilkan binary log, sehingga memberikan kompatibilitas dan stabilitas yang lebih baik. Untuk informasi selengkapnya tentang cara melihat Primary Endpoint, lihat Lihat endpoints dan ports.
-
Setelah binary logging diaktifkan, transaksi yang terlalu besar dapat memblokir pengiriman transaksi lain dan memengaruhi durasi restart serta perubahan spesifikasi klaster.
-
Parameter loose_polar_log_bin yang dijelaskan dalam topik ini merupakan parameter tingkat global. Untuk menggunakan binary logging tingkat session, Anda harus mengaktifkan parameter sql_log_bin.
CatatanParameter sql_log_bin mengontrol apakah binary logging tingkat session diaktifkan. Secara default, parameter ini dinonaktifkan. Untuk mengaktifkannya, buka Quota Center. Pada baris dengan nama kuota polardb sql_log_bin parameter permission, pada kolom Actions, klik Apply untuk mengaktifkannya.
-
Jika Anda menggunakan DTS untuk migrasi dari RDS ke PolarDB, binary logging akan diaktifkan secara otomatis.
-
Binary log hanya mencatat perubahan data yang terjadi setelah binary logging diaktifkan. Operasi INSERT, DELETE, dan UPDATE yang dilakukan sebelum binary logging diaktifkan tidak dicatat dalam file binary log.
Aktifkan binary logging
Aktifkan binary logging saat membeli klaster baru
Saat membuat klaster, pilih opsi Cluster Configurations pada kotak centang Enable Binary Logging. Untuk informasi selengkapnya, lihat Pembelian Kustom dan Beli klaster langganan.
Aktifkan binary logging untuk klaster yang sudah ada
Setelah binary logging diaktifkan, klaster akan restart secara otomatis. Tugas restart selesai dalam waktu 5 menit. Selama restart, layanan mengalami gangguan sementara sekitar 40 detik. Durasi pastinya bergantung pada volume data dan jumlah tabel. Kami menyarankan Anda melakukan operasi ini selama jam sepi dan memastikan aplikasi Anda memiliki mekanisme rekoneksi.
-
Masuk ke PolarDB console,Di panel navigasi kiri, klik Clusters. Pilih Region tempat klaster ditempatkan, lalu klik ID klaster untuk membuka halaman detail klaster。
-
Anda dapat mengaktifkan binary logging dengan salah satu metode berikut:
-
Metode 1:
-
Buka halaman Binary Logs klaster.
-
Klik Enable Now.
-
Pada kotak dialog Enable Binary Logging, atur waktu efektif menjadi Now atau Scheduled.
CatatanJika Anda memilih Scheduled, tentukan waktu efektifnya.
-
Klik OK.
-
-
Metode 2: Aktifkan binary logging dengan mengatur parameter loose_polar_log_bin.
-
Di panel navigasi kiri, pilih .
-
Temukan parameter loose_polar_log_bin dan ubah nilainya. Untuk informasi selengkapnya, lihat Ubah nilai parameter.
Catatan-
Jika versi klaster PolarDB for MySQL Anda adalah MySQL 5.6, ubah nilai saat ini menjadi ON_WITH_GTID;
-
Jika versi klaster PolarDB for MySQL Anda adalah MySQL 5.7 atau MySQL 8.0, ubah nilai saat ini menjadi ON.
-
-
-
Nonaktifkan binary logging
-
Masuk ke PolarDB console,Di panel navigasi kiri, klik Clusters. Pilih Region tempat klaster ditempatkan, lalu klik ID klaster untuk membuka halaman detail klaster。
-
Anda dapat menonaktifkan binary logging dengan salah satu metode berikut:
-
Metode 1:
-
Buka halaman Binary Logs klaster.
-
Klik Disable Binary Logging.
-
Pada kotak dialog Disable Binary Logging, atur waktu efektif menjadi Now atau Scheduled. Anda dapat memilih apakah akan mencentang Clear Local Binary Logs.
CatatanJika Anda memilih Scheduled, tentukan waktu efektifnya.
-
Klik OK.
-
-
Metode 2: Nonaktifkan binary logging dengan mengatur parameter loose_polar_log_bin.
-
Di panel navigasi kiri, pilih .
-
Temukan parameter loose_polar_log_bin dan ubah nilainya. Untuk informasi selengkapnya, lihat Ubah nilai parameter.
Catatan-
Jika versi klaster PolarDB for MySQL Anda adalah MySQL 5.6, ubah nilai saat ini menjadi OFF_WITH_GTID;
-
Jika versi klaster PolarDB for MySQL Anda adalah MySQL 5.7 atau MySQL 8.0, ubah nilai saat ini menjadi OFF.
-
Setelah binary logging dinonaktifkan, file binary log yang ada tetap dipertahankan. Kami menyarankan Anda memperpendek periode retensi binary log terlebih dahulu, tunggu hingga file yang tidak diperlukan dihapus secara otomatis, lalu nonaktifkan binary logging.
-
-
-
Periode retensi binary log
Kebijakan retensi
File binary log memiliki dua kebijakan retensi berikut:
-
Setelah binary logging diaktifkan, file binary log disimpan selama 3 hari secara default. File binary log yang berusia lebih dari 3 hari akan dihapus secara otomatis.
Catatan-
Untuk klaster PolarDB for MySQL yang dibeli sebelum 23 November 2023, file binary log disimpan selama dua minggu (14 hari) secara default.
-
Untuk klaster PolarDB for MySQL yang dibeli sebelum 17 Januari 2024, file binary log disimpan selama satu minggu (7 hari) secara default.
-
-
Setelah binary logging dinonaktifkan, file binary log yang ada tetap dipertahankan dan tidak dihapus secara otomatis.
Ubah periode retensi
-
Mengubah periode retensi binary log tidak menyebabkan gangguan sementara atau memerlukan restart klaster.
-
Namun, jika perubahan periode retensi menyebabkan penghapusan volume besar file binary log (misalnya, 10 TB), pengecualian write database dapat terjadi sementara selama proses pembersihan. Oleh karena itu, ketika volume file binary log besar, kami menyarankan Anda melakukan operasi ini selama jam sepi dan memperpendek periode retensi secara bertahap, menghapus sebagian data binary log setiap kali.
-
File binary log yang telah dihapus tidak dapat dipulihkan.
-
Jika binary logging diaktifkan untuk klaster Anda, Anda dapat mengubah periode retensi binary log dengan salah satu metode berikut:
-
Jika versi klaster adalah PolarDB for MySQL 5.6, Anda dapat mengubah parameter loose_expire_logs_hours (rentang nilai: 0 hingga 2376, satuan: jam, nilai default: 72) untuk mengatur periode retensi binary log. Nilai 0 berarti file binary log tidak dihapus secara otomatis. Untuk informasi selengkapnya tentang pengaturan parameter, lihat Ubah nilai parameter.
-
Jika versi klaster adalah PolarDB for MySQL 5.7 atau 8.0, Anda dapat mengubah parameter binlog_expire_logs_seconds (rentang nilai: 0 hingga 4294967295, satuan: detik, nilai default: 259200) untuk mengatur periode retensi binary log. Nilai 0 berarti file binary log tidak dihapus secara otomatis. Untuk informasi selengkapnya tentang pengaturan parameter, lihat Ubah nilai parameter.
PentingSetelah Anda mengubah nilai kedua parameter ini untuk mengatur periode retensi binary log, file binary log yang ada di klaster tidak langsung dihapus. Untuk menghapus file binary log yang ada, gunakan salah satu metode berikut:
-
Ketika file binary log terakhir di klaster mencapai
max_binlog_size, sistem akan beralih ke file binary log baru, dan file binary log yang ada tersebut akan dihapus secara otomatis. -
Gunakan akun istimewa untuk menjalankan perintah flush binary logs guna segera memicu pergantian file binary log dan menghapus file binary log yang telah kedaluwarsa.
-
Anda juga dapat melakukan restart klaster. Setelah restart, file binary log yang ada akan dihapus secara otomatis.
-
-
-
Jika binary logging tidak diaktifkan untuk klaster Anda dan Anda ingin menghapus file binary log, Anda dapat mengaktifkan kembali binary logging, atur parameter periode retensi binary log (loose_expire_logs_hours atau binlog_expire_logs_seconds) ke nilai kecil, tunggu hingga file dihapus secara otomatis setelah periode retensi berakhir, lalu nonaktifkan binary logging.
Dapatkan dan lihat binary log
Anda dapat menggunakan tool mysqlbinlog untuk melihat dan mengurai binary log. Untuk informasi selengkapnya, lihat Dapatkan dan urai file binary log klaster PolarDB for MySQL dari jarak jauh.
FAQ
-
T: Berapa lama file binary log disimpan?
J: Jika binary logging diaktifkan untuk klaster Anda, file binary log disimpan selama 3 hari secara default. File binary log yang berusia lebih dari 3 hari akan dihapus secara otomatis.
Catatan-
Untuk klaster PolarDB for MySQL yang dibeli sebelum 23 November 2023, file binary log disimpan selama dua minggu (14 hari) secara default.
-
Untuk klaster PolarDB for MySQL yang dibeli sebelum 17 Januari 2024, file binary log disimpan selama satu minggu (7 hari) secara default.
Jika binary logging dinonaktifkan untuk klaster Anda, file binary log yang ada tetap dipertahankan dan tidak dihapus secara otomatis.
CatatanAnda dapat mengubah periode retensi log biner untuk kluster dengan binary logging yang diaktifkan dengan memodifikasi parameter. Untuk informasi selengkapnya, lihat Periode retensi log biner.
-
-
T: Apa arti pesan error
Could not find first log file name in binary log index file?J:
Could not find first log file name in binary log index file. Berdasarkan pesan error ini, binary log telah dibersihkan. Binary log yang telah dihapus tidak dapat dipulihkan. -
T: Bisakah saya menonaktifkan binary logging setelah mengaktifkannya?
J: Atur parameter loose_polar_log_bin ke OFF dan kirim perubahan tersebut.
CatatanSetelah binary logging dinonaktifkan, file binary log yang ada tetap dipertahankan. Anda dapat memperpendek periode retensi binary log terlebih dahulu, tunggu hingga file yang tidak diperlukan dihapus secara otomatis, lalu nonaktifkan binary logging.
-
T: Bagaimana cara mengurangi storage space yang digunakan oleh binary log?
J: Anda dapat mengatur parameter periode retensi binary log (loose_expire_logs_hours atau binlog_expire_logs_seconds) ke nilai kecil untuk mengurangi storage space yang digunakan oleh file binary log.
-
T: Seberapa besar dampak pengaktifan binary logging terhadap performa?
J: Mengaktifkan binary logging tidak memengaruhi performa kueri (SELECT). Hanya memengaruhi performa write dan update (INSERT, UPDATE, DELETE, dll.). Dalam kebanyakan kasus, dampak performa akibat mengaktifkan binary logging tidak melebihi 10%. Dalam kondisi tekanan ekstrem, dampaknya bisa mencapai 40%.
-
T: Setelah binary logging diaktifkan, klaster akan restart secara otomatis. Berapa lama waktu yang dibutuhkan untuk tugas restart tersebut?
J: Umumnya, tugas restart selesai dalam waktu 5 menit. Selama restart, layanan mengalami gangguan sementara sekitar 40 detik. Durasi pastinya bergantung pada volume data dan jumlah tabel. Kami menyarankan Anda melakukan operasi ini selama jam sepi dan memastikan aplikasi Anda memiliki mekanisme rekoneksi.
-
T: Bagaimana cara mendapatkan dan melihat konten binary log dari jarak jauh?
J: Untuk informasi selengkapnya, lihat Dapatkan dan urai file binary log klaster PolarDB for MySQL dari jarak jauh.
-
T: Mengapa saya tidak dapat menggunakan fitur Lakukan perubahan skema tanpa lock menggunakan lockless change tickets di DMS untuk melakukan perubahan skema seperti menambahkan indeks pada klaster PolarDB for MySQL?
J: Binary logging dinonaktifkan secara default untuk klaster PolarDB for MySQL. Untuk menggunakan fitur perubahan skema tanpa lock di DMS, aktifkan terlebih dahulu binary logging untuk klaster PolarDB for MySQL Anda. Jika Anda tidak ingin mengaktifkan binary logging, Anda juga dapat menggunakan perintah DDL online untuk mengubah skema tabel.
-
T: Bisakah saya menggunakan canal untuk menangkap perubahan MySQL setelah binary logging diaktifkan?
J: Ya, Anda dapat menggunakan canal untuk menangkap perubahan MySQL.
-
T: Apakah menjalankan pernyataan
SHOW BINARY LOGSuntuk mengkueri ukuran file binary log memengaruhi performa klaster?J: Tidak. Pernyataan
SHOW BINARY LOGSmerupakan operasi management dan hampir tidak berdampak pada performa klaster. Pernyataan ini tidak secara langsung memengaruhi performa read dan write database seperti operasi write data (misalnya INSERT, UPDATE, dan DELETE). Oleh karena itu, Anda dapat menggunakan perintah ini dengan percaya diri. -
T: Bagaimana cara mengkueri waktu write terakhir dari binary log di PolarDB for MySQL?
J: Gunakan pernyataan
show full binary logsuntuk melihat nama, ukuran, dan waktu write terakhir dari semua file binary log.CatatanFitur ini didukung untuk klaster PolarDB for MySQL dengan persyaratan berikut:
-
MySQL 8.0.2, dengan versi minor 8.0.2.2.0 atau lebih baru.
-
MySQL 8.0.1, dengan versi minor 8.0.1.1.14 atau lebih baru.
-
MySQL 5.7, dengan versi minor 5.7.1.0.27 atau lebih baru.
-
MySQL 5.6, dengan versi minor 5.6.1.0.38 atau lebih baru.
-
-
T: Bagaimana cara melihat konten binary log pada waktu tertentu di PolarDB for MySQL?
J: Anda tidak dapat langsung menentukan waktu untuk backup data. Anda dapat terlebih dahulu melakukan pemulihan pada titik waktu, lalu mengurai binary log untuk melihat kontennya.