Slow query log: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
| (2 dazwischenliegende Versionen desselben Benutzers werden 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: | ||
:------- | :------- | ||
: | : | ||
;2. Logdatei anlegen und dem mysql die Rechte zuweisen | |||
:<code>touch /var/log/mysql-slow.log | :<code>touch /var/log/mysql-slow.log</code> | ||
:<code>chown mysql:mysql /var/log/mysql-slow.log | :<code>chown mysql:mysql /var/log/mysql-slow.log</code> | ||
: | : | ||
: | : | ||
; | ;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> | ||
: | : | ||
; | ;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> | |||
: | : | ||
; | ;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.logchown 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.