• Diese Seite verwendet Cookies. Indem du diese Website weiterhin nutzt, erklärst du dich mit der Verwendung von Cookies einverstanden. Erfahre mehr

MySQL log slow query

Themenstarter #1
Hallo,

ich nutze mysqld 5.7.15-log und möchte da langsame Abfragen loggen.

Mit

slow_query_log_file=/var/db/mysql/slow-log-queries.log
log-output=FILE
log-queries-not-using-indexes
long_query_time = 20

in /usr/local/etc/mysql/my.cnf werden aber sehr viele, gefühlt alle Abfragen, die deutlich schneller sind, geloggt.
Irgendwas funktioniert da nicht.. wo ist der Fehler? Ich hätte gerne nur Abfragen die wirklich langsam sind... ab 10 Sekunden..


Viele Grüße
 

KobRheTilla

used register
#3
Irgendwas funktioniert da nicht.. wo ist der Fehler?
Du nutzt log-queries-not-using-indexes:
To include queries that do not use indexes for row lookups in the statements written to the slow query log, enable the log_queries_not_using_indexes system variable. When such queries are logged, the slow query log may grow quickly.
Ich würde das rausnehmen, da du ja nur an den "slow queries" interessiert bist. Desweiteren würde ich aus Gründen der Sauberkeit log-output=FILE rausnehmen - das ist nämlich der default-Wert.

Hier alles zum Nachlesen: https://dev.mysql.com/doc/refman/5.7/en/slow-query-log.html

Rob
 
Themenstarter #4
Hi, das mit den log-queries-not-using-indexes habe ich dann auch bemerkt und rausgenommen. Jetzt ist Ruhe.

Wie checkt man die Variablen im laufenden Prozess?

Grüße
 

KobRheTilla

used register
#5
Wie checkt man die Variablen im laufenden Prozess?
Entweder mittels mysqladmin:
Code:
$ mysqadmin variables
oder über SQL direkt:
Code:
# mysql
mysql> show variables;
Man kann die meisten dieser Variablen übrigens zur Laufzeit ändern:

Code:
# mysql
mysql> set global slow_query_log=1;
Wichtig ist dabei das global-Schlüsselwort, sonst wird die Variable nur für die Session gesetzt.

Rob
 
Zuletzt bearbeitet: