Cara menggunakan mysql disable log

Panduan cara mengatasi disk penuh karena binary logging MySQL/MariaDB. Secara default binary logging MySQL/MariaDB aktif, pengaturan ini akan membuat file mariadb-bin.00001 atau semacam mysql-bin.00002 yang isinya merupakan informasi database yang (sedang) dimodifikasi/berubah.

File binary log MySQL tersebut disimpan pada direktori /var/log/mysql akan terus disimpan sampai batas maksimal yang diset pada konfigurasi my.cnf baris max_binlog_size.

Jadi binary log berfungsi untuk mencatat semua informasi data/table pada database yang dimodifikasi, yaitu statement seperti CREATE, ALTER, INSERT, UPDATE dan mariadb-bin.000010.

Lalu bagaimana cara mengatasi jika binary log semakin banyak dan ukuran filenya besar sehingga bisa membuat disk penuh? Berikut cara menonaktifkan binary log MySQL/MariaDB.

Cara disable binary log MySQL/MariaDB

Edit konfigurasi MySQL my.cnf, di Linux Debian/Ubuntu biasanya ada di mariadb-bin.000012 sedangkan di CentOS mungkin di mariadb-bin.000013

Skrip php error dan tidak bisa menambahkan baris pada mysql, atau import mysql gagal? Bisa jadi dikarenakan mode strict pada mysql/mariadb server Anda aktif.

Pada mysql 5.7 dan seterusnya ataupun mariadb 5.7 dan seterusnya secara default berada dalam keadaan mode strict.

Saat mode strict aktif maka jika perintah SQL Anda tidak valid atau default value nya tidak ada maka eksekusi SQL akan gagal saaat anda melakukan perintah INSERT dan UPDATE Pesan errornya bisa beragam, misal type kolom nya salah, atau bisa out of range.

Pada kebanyakan kasus masih banyak programmer yang menggunakan statement mysql dengan cara tidak standar, dan ini akan menyebabkan masalah tentunya jika mode strict nya aktif.

Pada tutorial ini kita akan belajar bagaimana menonaktifkan atau disable strict mode mysql/mariadb server. Tutorial ini bisa digunakan baik di linux, maupun di windows.

Mengecek strict mode aktif atau enabled

Silahkan Anda login ke console atau terminal Anda, dan jalankan:

mysql -e "SELECT @@sql_mode;"

Jika strict mode aktif, Anda akan mendapatkan detail informasi sebagai berikut:

+-----------------------------------------------------------------------------------------------------------------------+
| @@sql_mode                                                                                                            |
+-----------------------------------------------------------------------------------------------------------------------+
| ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION |
+-----------------------------------------------------------------------------------------------------------------------+

Terlihat disana ada mode STRICT_TRANS_TABLES, hal ini menandakan mysql/mariadb server Anda dalam keadaan strict mode.

Disable strict mode pada mysql/mariadb server

Silahkan temukan konfig my.cnf Anda jika Anda menggunakan linux, atau my.ini pada windows.

Pada linux biasanya lokasi my.cnf nya ada pada path berikut:

/etc/my.cnf
/etc/mysql/my.cnf
/usr/etc/my.cnf
~/.my.cnf

Sedangkan di windows path nya Ada pada berikut:

C:\Windows\my.ini
C:\Windows\my.cnf
C:\my.ini
C:\my.cnf
C:\Program Files\MySQL\MySQL Server 8\my.ini
C:\Program Files\MySQL\MySQL Server 8\my.cnf

Jika anda menggunakan XAMPP atau sejenisnya, bisa disesuaikan dengan lokasi mysql servernya terinstall.

Nah jika sudah, selanjutnya silahkan tambahkan hal berikut didalam seksi [mysqld]:

sql_mode = 'NO_ENGINE_SUBSTITUTION'

Jika sudah, simpan file konfigurasi mysql nya tersebut, dan lakukan restart mysql/mariadb servernya.

Setelah itu silahkan cek kembali mode mysql nya dengan command yang sama dengan sebelumnya.

mysql -e "SELECT @@sql_mode;"

Anda akan mendapati keterangan mode seperti berikut yang menandakan sql_mode nya sudah tidak dalam kondisi strict lagi.

+------------------------+
| @@sql_mode             |
+------------------------+
| NO_ENGINE_SUBSTITUTION |
+------------------------+

Repot harus konfigurasi manual sendiri di server Anda? Yuk berlangganan VPS di Domosquare saja, gratis CPU dan RAM 2x lipat 🙂 Kami bantu hal-hal seperti ini tanpa biaya tambahan.