Slow query log: Unterschied zwischen den Versionen

Aus Glaskugel
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „=slow query log= In diesem Artikel wird beschrieben wir wir auf einem unserer Server eines Kunden die Funktion " slow query log" aktivieren. ;1. Config schrei…“)
 
Keine Bearbeitungszusammenfassung
 
(6 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
[[Category:SSH]]
=slow query log=
=slow query log=
In diesem Artikel wird beschrieben wir wir auf einem unserer Server eines Kunden die Funktion " slow query log" aktivieren.
In diesem Artikel wird beschrieben wir wir auf einem unserer Server eines Kunden die Funktion " slow query log" aktivieren.
Zeile 6: 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
: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 = 1
:slow_query_log=ON
:long_query_time = 5
:log-slow-verbosity=query_plan,explain
:slow_query_log_file = /var/log/mariadb/slow-query.log
:slow-query_log_file=/var/log/mysql-slow.log
:log_queries_not_using_indexes
:long_query_time=2.0
:
:-------
:-------
:
:
;2. Dienst rebooten
;2. Logdatei anlegen und dem mysql die Rechte zuweisen
:<code>touch /var/log/mysql-slow.log</code>
:<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 22: Zeile 31:
::<code>service mysqld restart</code>
::<code>service mysqld restart</code>
:
:
;3. Log prüfen
;4. Log prüfen
:Durch ein Blick in das zu loggende Verzeichnis, kann überprüft werden ob auch ein Log geschierben wird. (/var/log/mariadb/)
:<code>mysqldumpslow -a /var/log/mysql-slow.log</code>
;4. Daten zum Auswerten an den Kunden weiterleiten
: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.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.