Panduan Lengkap Mengonfigurasi Binary Logging di MariaDB
Mengaktifkan binary logging di MariaDB adalah langkah penting untuk berbagai keperluan seperti replikasi data, pemulihan, dan audit. Binary logs memungkinkan Anda melacak semua perubahan data dalam bentuk urutan yang dapat digunakan untuk mengembalikan keadaan sebelumnya. Berikut adalah langkah-langkah lengkap untuk mengonfigurasi, mengelola, dan memelihara binary logs di MariaDB, serta cara mengatur log untuk database tertentu atau mengabaikan database tertentu.
1. Mengonfigurasi Binary Logging
Untuk mengaktifkan binary logging di MariaDB, Anda perlu mengedit file konfigurasi MariaDB yang terletak di /etc/mysql/mariadb.conf.d/50-server.cnf
atau file konfigurasi server MariaDB yang digunakan pada sistem Anda.
Buka file tersebut dan tambahkan konfigurasi berikut di dalam bagian [mysqld]
:
server-id = 1
log_bin = /var/log/mysql/mysql-bin.log
expire_logs_days = 10
binlog_format = ROW
#binlog-do-db = testaja
max_binlog_size = 100M
log_bin
: Menentukan lokasi dan nama file log binari. Pastikan Anda memberikan path yang valid untuk penyimpanan log.binlog_format
: Mengatur format binary log. Pilih antara:ROW
(mencatat perubahan pada tingkat baris)STATEMENT
(mencatat query SQL yang dijalankan)MIXED
(kombinasi antaraROW
danSTATEMENT
).
server_id
: ID unik untuk server MariaDB, yang diperlukan untuk replikasi.
2. Menentukan Database yang Dicatat dalam Binary Logs
Jika Anda hanya ingin mencatat database tertentu, Anda dapat menambahkan pengaturan binlog-do-db
di file konfigurasi MariaDB. Misalnya, jika Anda ingin hanya mencatat database bernama mydb
, tambahkan baris berikut di bawah [mysqld]
:
binlog-do-db = mydb
Untuk lebih dari satu database, Anda dapat menambahkan beberapa baris binlog-do-db
:
binlog-do-db = mydb
binlog-do-db = anotherdb
Ini akan mencatat perubahan hanya untuk mydb
dan anotherdb
. Pastikan Anda menambahkan pengaturan ini untuk setiap database yang ingin Anda catat.
3. Mengabaikan Database Tertentu dari Binary Logs
Jika Anda ingin mengabaikan database tertentu dari binary logging, Anda bisa menggunakan pengaturan binlog-ignore-db
. Misalnya, jika Anda ingin mengabaikan database testdb
, tambahkan baris berikut:
binlog-ignore-db = testdb
Jika ada lebih dari satu database yang ingin Anda abaikan, Anda cukup menambahkan beberapa baris binlog-ignore-db
seperti berikut:
binlog-ignore-db = testdb
binlog-ignore-db = tempdb
4. Melakukan Restart MariaDB
Setelah menambahkan pengaturan yang diperlukan, Anda perlu me-restart MariaDB untuk menerapkan perubahan konfigurasi. Gunakan perintah berikut untuk merestart MariaDB:
sudo systemctl restart mariadb
5. Memeriksa Apakah Binary Logging Sudah Aktif
Setelah merestart MariaDB, masuk ke MySQL untuk memeriksa apakah binary logging telah aktif. Gunakan perintah:
SHOW VARIABLES LIKE 'log_bin';
Jika binary logging telah berhasil diaktifkan, hasilnya akan menunjukkan ON
. Anda juga bisa memeriksa informasi lebih lanjut dengan:
SHOW VARIABLES LIKE 'log_bin%';
Hasilnya akan mencakup informasi tentang lokasi log dan statusnya.
6. Memeriksa Path Log dan File Log
Periksa file binary log yang sedang berjalan. Anda dapat melihatnya langsung di direktori log:
ls /var/log/mysql/
Di sana Anda akan menemukan file-file seperti mysql-bin.000001
, mysql-bin.000002
, dan seterusnya. Nama file log ini berurutan sesuai dengan perubahan data yang tercatat.
7. Menghapus Log Lama dengan PURGE BINARY LOGS
Untuk mengelola ruang penyimpanan dan menghapus log lama, gunakan perintah PURGE BINARY LOGS
di MySQL. Misalnya, untuk menghapus semua log yang lebih lama dari mysql-bin.000003
, jalankan perintah berikut:
PURGE BINARY LOGS TO 'mysql-bin.000003';
Ini akan menghapus semua binary log yang lebih lama dari file mysql-bin.000003
dan membantu menjaga kinerja server.
8. Menyegarkan Log dengan FLUSH LOGS
Jika Anda ingin memulai siklus log baru atau memastikan bahwa perubahan yang dibuat tercatat, Anda bisa menggunakan perintah FLUSH LOGS
:
FLUSH LOGS;
Perintah ini akan menutup file log yang sedang aktif dan membuat file log baru.
9. Mengecek Daftar Binary Logs
Untuk memverifikasi bahwa binary logs sedang berjalan dengan baik, jalankan perintah berikut di MySQL:
SHOW BINARY LOGS;
Perintah ini akan menampilkan daftar semua file binary log yang aktif beserta ukuran file masing-masing.