Slow query log: Unterschied zwischen den Versionen

Aus Glaskugel
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt)
Zeile 8: Zeile 8:
::<code>cd /etc/my.cnf.d/</code>
::<code>cd /etc/my.cnf.d/</code>
::<code>mcedit slowlog.cnf</code>
::<code>mcedit slowlog.cnf</code>
:und fügen folgenden Inhalt ein, speichern nicht vergessen (F10 und Ja)
:und fügen folgenden Inhalt (Hier werden Abfragen länger als 2 Sekunden geloggt) ein, speichern nicht vergessen (F10 und Ja)
:
:
:-------
:-------
:
:[mysqld]
:[mysqld]
:slow_query_log=ON
:slow_query_log=ON
Zeile 19: Zeile 20:
:-------
:-------
:
:
:Logdatei anlegen und dem mysql die Rechte zuweisen
;2. Logdatei anlegen und dem mysql die Rechte zuweisen
:<code>touch /var/log/mysql-slow.log</code>
:<code>touch /var/log/mysql-slow.log</code>
:<code>chown mysql:mysql /var/log/mysql-slow.log</code>
:<code>chown mysql:mysql /var/log/mysql-slow.log</code>
:
:
:
:
;2. Dienst rebooten
;3. Dienst rebooten
:danach muss der laufende Datenbankdienst rebooted werden.
:danach muss der laufende Datenbankdienst rebooted werden.
::<code>service mariadb restart</code>
::<code>service mariadb restart</code>
Zeile 30: Zeile 31:
::<code>service mysqld restart</code>
::<code>service mysqld restart</code>
:
:
;3. Log prüfen
;4. Log prüfen
:mysqldumpslow -a /var/log/mysql-slow.log
:<code>mysqldumpslow -a /var/log/mysql-slow.log</code>
:Kann auch in eine Datei ausgegeben werden via ">" hinten dran, also z.B. <code>mysqldumpslow -a /var/log/mysql-slow.log > /var/www/vhosts/xy.hostkraft.de/auswertung_slow.txt</code>
:
:
;4. Daten zum Auswerten an den Kunden weiterleiten
;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.
: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.
:
:

Aktuelle Version vom 17. März 2021, 18:55 Uhr


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.