Mengaktifkan log MySQL
Untuk melakukan diagnosa masalah pada MySQL (atau Percona dan MariaDB) maka kita perlu mengecek apa isi lognya. Masalahnya dan ini baru saya tahu ternyata ada pada beberapa instalasi (tergantung distro Linux dan versi database server yang terinstall) tidak aktif secara default. Jadi kalau ada error ya diam saja tidak ada catatannya. Repot kan? Kalau lancar jaya sih ga bingung.
Nah… kali ini saya akan menuliskan bagaimana caranya agar MySQL membuat file log untuk beberapa jenis kejadian. Jadi tidak semua event itu setara tingkatannya tergantung fungsinya.
Anda mau yang mana awalnya sama semua kok. 🙂 Langkah selanjutnya adalah mengedit konfigurasi MySQL, biasanya bernama my.cnf:
nano /etc/mysql/my.cnf
Saya asumsikan default lho ya, belum tentu di VPS anda ada disana tapi bisa anda cek sendiri kok. Nah… kode – kode yang nanti saya bahas letakkan dalam blok [mysqld]
kecuali yang saya beri letaknya secara spesifik.
General Query Log: Berisi informasi umum mengenai aktivitas MySQL. Ya seperti hidup, mati dan menjalankan query SQL. Untuk mengaktifkan General Query Log, tambahkan kode berikut didalamnya:
general_log_file = /var/log/mysql/mysql_umum.log
general_log = 1
Slow Query Log: Kalau ada perintah SQL yang terlalu lama atau lambat akan dicatat disini. Untuk mencatat Slow Query Log, perlu kode yang ini:
log_slow_queries = /var/log/mysql/mysql_lambat.log
long_query_time = 2
log-queries-not-using-indexes
Kemudian adalah Error Log: Fungsinya buat menyimpan informasi setiap kali MySQL mengalami kesalahan. Untuk Error Log akan memanfaatkan kode ini:
[mysqld_safe]
log_error=/var/log/mysql/mysql_error.log
[mysqld]
log_error=/var/log/mysql/mysql_error.log
Terakhir agar MySQL selalu menjalankan proses rekaman catatan aktivitasnya maka perlu dihidupkan settingnya, silahkan masuk dulu ke mode interaktif MySQL:
mysql -u root -p
Kemudian eksekusi perintah ini:
SET GLOBAL general_log = 'ON';
SET GLOBAL slow_query_log = 'ON';
Setelah itu silahkan restart proses MySQL:
service mysql restart
Selesai. 😀
Mas kalau file
.log
itu di hapusin semua bermasalah ngak ya dengan vps nya soalnya sekarang log penuh dan web nya mulai lambatMasa gara – gara log mas? Coba eksekusi ini:
Kemudian bandingkan dengan ukuran direktori
/var/
yang terpakai:Yakin bukan karena hal lain mas? Trafiknya berapa ribu? Saya malah pernah mengalami kapasitasnya tidak ada yang kosong: https://servernesia.com/1509/efek-disk-space-vps-penuh/
seperti itu sih
Loh mas, itu sangat – sangat lega lho VPSnya.
Coba cek log PHPnya. Tahu lokasi dan nama filenya mas? Oh ya, ini trafiknya berapa?
Pas ngerasa lambat coba dicek pakai
top
atauhtop
berapa besar system loadnya.log terakhir
PHP7.0
PHP5.6
Ini pakai CentOS 7 atau Debian 8 mas? Ini bukannya log dari systemd untuk proses PHP-FPM ya? Kalau log dari PHPnya sendiri?
Install dari nol atau pakai script EasyEngine?
pakai Ubuntu 16LTS dan EE mas
log diambil dari
/var/log/php/7.0
dan/var/log/php/5.6
Hmm… gini mas. Karena isi lognya kurang informatif. Mas coba stress testing websitenya pakai ini: https://servernesia.com/2358/menguji-performa-maksimal-web-server/
Dan cek lognya apa ada error.