Taufik Mulyana
Taufik Mulyana
Linux System Administrator, Interested in Linux, Cloud, Containers
April 10, 2018 2 min read

Mengaktifkan Slow Query Log pada Mysql/MariaDB

mariadb

Mengaktifkan Slow Query Log pada Mysql/MariaDB, singkatnya slow query log merupakan log yang berisi  query sql yang memakan waktu lama saat di eksekusi, mengaktifkan log slow query ini dapat membantu kita dalam menemukan masalah, semisal saat melakukan analisa pada aplikasi web yang membutuhkan waktu lama saat menampilkan data, query yang membutuhkan waktu lama akan otomatis tercatat pada log slow query, dan selanjutnya bisa kita lakukan optimasi, secara default log slow query tidak aktif, untuk mengaktifkannya ikuti langkah-langkah dibawah

Mengaktifkan Log Slow Query

ubah berkas konfigurasi mysql/mariadb

$ sudo vim /etc/mysql/my.cnf

tambahkan konfigurasi berikut, atau jika anda menggunakan distribusi Ubuntu, anda hanya perlu menghilangkan tanda #

slow_query_log = 1
long_query_time = 1
slow_query_log_file = /var/log/mysql/slow-query.log

penjelasan

slow_query_log = 1 – dengan mengisikan angka 1 berarti log slow query aktif, jika 0 berarti tidak aktif
log_query_time = 1 – untuk menyetel waktu query yang akan dilog dalam detik/milidetik
slow_query_log_file = /var/log/mysql/slow-query.log – letak log slow query

lalu jalankan ulang layanan Mysql/Mariadb

$ sudo systemctl restart mysql

atau

$ sudo systemctl restart mariadb

untuk melihat log slow query anda bisa menggunakan utilitas tail

$ tail -f /var/log/mysql/slow-query.log

Tambahan :

jika anda ingin mencatat semua query yang tidak menggunakan indexing ke log yang sama, silahkan tambahkan konfigurasi berikut

$ sudo vim /etc/mysql/my.cnf
log_queries_not_using_indexes

penjelasan

log_queries_not_using_indexes – untuk mencatat query yang tidak menggunakan indexing

dengan menambahkan konfigurasi di atas, semua query yang tidak memiliki index akan tercatat.
semoga bermanfaat 🙂