Mengaktifkan Binary Logging di MariaDB

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 antara ROW dan STATEMENT).
  • 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.

Scroll to Top