Sometimes you need to monitor all the queries sent to the MySQL server during a period of time. MySQL Server provides a way to show the general query log and the slow query log, if those logs are enabled. Possible destinations for log entries are log files or the Table of Contents In this post, we are going to enable general log and slow query log and show them in tables in MySQL. 1. First, check if you already have the two tables If not, you have to create them, note that you have to create in the
The general query log is a general record of what
The slow query log consists of SQL statements that take more than The minimum and default values of 2. Enable Query logging on the database
3. Now you can view the log by running this query:
4. If you want to disable query logging on the database, run this query:
Using TablePlus, you can enable the console log from the GUI. To turn on/off the log, click on the console log button near the top right, or use shortcut key Cmd + Shift + C. You can also choose to log data queries, meta queries, or all queries. New to TablePlus? It’s a modern, native tool with an elegant GUI that allows you to simultaneously manage multiple databases such as MySQL, PostgreSQL, SQLite, Microsoft SQL Server and more. Download TablePlus here. It’s free anyway! Tentu kita tahu bahwa penggunaan query ini sangat penting jika Anda menggunakan database yang dihubungkan ke website. Fungsi query ini akan menampilkan data dari database dengan cara melakukan penarikan data menggunakan script php. Sedangkan Slow Query biasanya ditampilkan jika ada proses query yang lambat. Jenis QueryQuery sendiri ada 3 macam yang umumnya digunakan untuk memanipulasi ataupun mendefinisikan pada sebuah database.
Baca Juga: Cara Instalasi dan Setup Database Odoo di Ubuntu 16.04 Fungsi Slow Query LogSlow Query adalah suatu pernyataan SQL yang membutuhkan lebih long_query_time untuk dapat dieksekusi. Log ini juga dapat digunakan untuk menemukan query-query lambat supaya dapat dioptimasi. Untuk mengetahui ada berapa banyak slow queries dapat gunakan command dibawah ini. $ mysqladmin status Uptime: 703 Threads: 10 Questions: 24010 Slow queries: 27 Opens: 358 Flush tables: 1 Open tables: 352 Queries per second avg: 34.15 Cara Mengaktifkan Slow Query pada ServerEdit file my.cnf dengan menggunakan command dibawah ini. $ nano /etc/my.cnf Tambahkan beberapa script berikut dibawah [mysqld] section. slow_query_log = 1 long_query_time = 5 slow_query_log_file = /var/log/mysql/slow-query.log log_queries_not_using_indexes Pastikan Anda sudah memiliki directory “mysql” di dalam /var/log/, jika tidak memiliki maka perlu membuatnya terlebih dahulu. Note: Slow_query_log = 1. Artinya adalah log slow query ini enabled. Long_query_time = 5. Artinya adalah waktu yang dibutuhkan oleh Query SQL untuk melakukan eksekusi dalam hitungan detik. Slow_query_log_file = /var/log/mysql/slow-query.log. Artinya adalah path atau lokasi penempatan log slow query tersebut. Log_queries_not_using_indexes. Artinya adalah untuk memberitahu MySQL untuk melakukan log ke semua query yang tidak mengunakan indeks untuk membatasi jumlah baris/row yang discan. Buat file slow-query.log di dalam directory /var/log/mysql/ dan rubah ownership menggunakan mysql dengan command dibawah ini. $ cd /var/log/mysql/ $ touch slow-query.log $ chown mysql:mysql slow-query.log Restart MySQL Service dengan command dibawah ini: $ service mysql restart Atau gunakan command dibawah ini jika menggunakan WHM – cPanel: $ /scripts/restartsrv_mysql Setelah direstart, maka slow query akan otomatis tercatat (logging) di file slow-query.log. Gunakan command dibawah ini untuk memantau atau melihat apa saja yang di-log. $ tail -f /var/log/mysql/slow-query.log Baca Juga: Cara Membuat Database di XAMPP Analisis Slow QueryUntuk melakukan analisis slow query dapat menggunakan command mysqldumpslow. $ mysqldumpslow -a /var/log/slow-query.log
Contoh Slow QueriesDi bawah ini adalah contoh slow queries yang sudah ter-log di dalam file slow-query.log. Baca Juga: Panduan Lengkap Cara Membuat Database WordPress di MYSQL Masalah Pada Saat Mengaktifkan Slow Query LogSlow query lognya tidak running, dimana tidak ada query yang ter-log. Lalu Anda melakukan restart mysql dan ada error dibawah ini. [ERROR] Could not use /var/log/mysql/slow-query.log for logging (error 13). Turning logging off for the whole duration of the MySQL server process. To turn it on again: fix the cause, shutdown the MySQL server and restart it. Cara menyelesaikan masalahnya adalah dengan cara melihat permission pada directory /mysql/ dan file slow-query.log. Pastikan directory menggunakan permission 0755 dan file 0644. Kemudian restart mysql nya kembali dan cek, pada file lognya, seharusnya sudah mulai di-log slow querynya. Kalau semua slow queries-nya sudah di optimasi dan sudah tidak menampilkan slow queries pada mysqladmin status, maka log-nya perlu di disabled kembali. Dengan merubah nilai 1 menjadi 0 pada slow_query_log di file my.cnf. KesimpulanDengan menggunakan slow query log ini dapat memudahkan dalam melakukan optimasi, karena akan dilihatkan query apa saja yang lambat diproses. Optimasi dilakukan dengan banyak cara, ada beberapa aplikasi berbayar yang memberikan layanan untuk proses ini. Seperti contohnya adalah SolarWinds, RedGate dan everSQL. Jangan sungkan untuk meninggalkan ide-ide topik yang ingin Anda baca di blog Dewaweb. Semoga artikel ini membantu! Dewaweb Ninja Ninja Support menuliskan aritkel sepenuh hati. Mulai dari bisnis online, digital marketing, sampai website development. Jangan lupa untuk daftarkan email kamu ke newsletter Dewaweb di sebelah kanan atau bawah untuk mendapatkan info terbaru dari Dewaweb. |