Cara membaca log MySQL
Memang kita hanya belajar VPS saat dibutuhkan atau terjadi masalah. Haha. 😀 Masih berhubungan dengan service MySQL tiba – tiba mati dan berulang kali dengan waktu yang acak. Sampai – sampai saya buatkan solusi sementara untuk restart otomatis MySQL/MariaDB(dan perlu dikoreksi karena saya belajar hal baru lagi soal ini). Hehe. 😛 Kali ini saya akan membicarakan membaca isi file log dari MySQL.
Sebagai informasi disini saya menggunakan MySQL 5.7 dan MariaDB 10.1 pada Debian 8, ada hal yang bisa diterapkan pada distro Linux lain tapi ada juga yang tidak.
Setidaknya kalau di Linux hampir semua log dari service dan aplikasi akan disimpan dalam direktori /var/log/
dan memang ada disana pas saya cek. Tapi pas saya buka:
ls /var/log/mysql/
Kok begini isinya:
mysql-bin.000019 mysql-bin.000024 mysql-bin.000029 mysql-bin.000034
mysql-bin.000020 mysql-bin.000025 mysql-bin.000030 mysql-bin.index
mysql-bin.000021 mysql-bin.000026 mysql-bin.000031
mysql-bin.000022 mysql-bin.000027 mysql-bin.000032
mysql-bin.000023 mysql-bin.000028 mysql-bin.000033
Dan dibuka pakai nano
kacau atau hancur. Jadi bukan file teks kesimpulannya.
Ternyata jenis file log MySQL dan MariaDB itu binary, juga tampaknya dikompresi supaya ukurannya kecil. (Catatan, saya belum mencari informasi lebih dalam mengenai format filenya. Ini cuma tebakan saja) Dan ternyata lagi untuk membacanya telah disediakan tool tersendiri bernama mysqlbinlog
, cara menggunakannya tinggal arahkan ke tempat file lognya yang ingin dibaca.
mysqlbinlog /var/log/mysql/mysql-bin-000034
Selesai. Yang ditampilkan adalah error dan informasi aktivitasnya.
Cara alternatifnya tergantung init system distro Linux VPSnya. Karena Debian 8 dan CentOS 7 menggunakan systemd
menggantikan SysV
maka kita bisa memanfaatkannya untuk membaca log proses:
journalctl -u mysql
Dari percobaan saya isinya baru ada kalau pas terjadi error dan kurang lebih informasinya juga serupa dengan membaca lognya langsung.
Semoga bermanfaat. 🙂