Slow query log

Aus Glaskugel
Zur Navigation springen Zur Suche springen


slow query log

In diesem Artikel wird beschrieben wir wir auf einem unserer Server eines Kunden die Funktion " slow query log" aktivieren.

1. Config schreiben

Da in unserer Datenbankserverconfig standardmäßig folgender include_dir eingetragen ist: "!includedir /etc/my.cnf.d" erstellen wir unsere neue slow-query-log config im DIR /etc/my.cnf.d/

cd /etc/my.cnf.d/
mcedit slowlog.cnf
und fügen folgenden Inhalt (Hier werden Abfragen länger als 2 Sekunden geloggt) ein, speichern nicht vergessen (F10 und Ja)
-------
[mysqld]
slow_query_log=ON
log-slow-verbosity=query_plan,explain
slow-query_log_file=/var/log/mysql-slow.log
long_query_time=2.0
-------
2. Logdatei anlegen und dem mysql die Rechte zuweisen
touch /var/log/mysql-slow.log
chown mysql:mysql /var/log/mysql-slow.log
3. Dienst rebooten
danach muss der laufende Datenbankdienst rebooted werden.
service mariadb restart
oder
service mysqld restart
4. Log prüfen
mysqldumpslow -a /var/log/mysql-slow.log
Kann auch in eine Datei ausgegeben werden via ">" hinten dran, also z.B. mysqldumpslow -a /var/log/mysql-slow.log > /var/www/vhosts/xy.hostkraft.de/auswertung_slow.txt
5. Daten zum Auswerten an den Kunden weiterleiten
Im Nachgang kann noch ein Cronjob angelegt werden der das log regelmäßig in das Verzeichnis des Kunden ausgiebt, natürlich sollte eine passende Datei im /logs/ Verzeichnis den Kunden existieren damit dieser die auch auslesen und verwerten kann.