2017-05-29 2 views
1

Ich versuche, die Zeit für meine slow_query_log zu setzen, aber ich kann die richtige Datei nicht gefunden:my.cnf auf Mac Sierra für langsame Abfragen

Ich habe eine Datei unter/usr/local/var/mysql

MYUSER-slow.log

, die mir die Abfragen 10 Sekunden zeigt unter (Standard in MYSQL ist 10sec) - ich habe die my-default.cnf unter /usr/local/Cellar/mysql/5.7.17/support- files/und fügte dies auch nach der Erstellung von /etc/my.cnf hinzu

slow_query_log = 1 
slow_query_log_file = /var/log/mysql/slow-queries.log 
long_query_time = 1 

Nichts scheint zu funktionieren. Wer kann die Abfragezeit auf 1 Sekunde setzen?

Antwort

1

Nachdem Sie die my.cnf bearbeitet haben, müssen Sie mysqld neu starten, damit sie wirksam wird. Die Konfigurationsdatei wird nur beim Start von mysqld gelesen.

Sie können diese Variablen auch dynamisch festlegen. Dynamische globale Variablen können geändert werden, während mysqld ausgeführt wird, und die Änderung wirkt sich auf alle nachfolgenden Sitzungen aus (aktuelle Sitzungen erben keine globalen Änderungen).

mysql> SET GLOBAL slow_query_log = 1; 
mysql> SET GLOBAL slow_query_log_file = /var/log/mysql/slow-queries.log; 
mysql> SET GLOBAL long_query_time = 1; 

Nicht alle globalen Variablen unterstützen dynamische Änderungen, andere erfordern einen Neustart. Dies ist dokumentiert pro Variable um https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html

+0

Vielen Dank Bill - Einstellung der GLOBALS war die Lösung. – Isengo