Ich habe die Anweisungen hier befolgt: http://crazytoon.com/2007/07/23/mysql-changing-runtime-variables-with-out-restarting-mysql-server/, aber das scheint nur den Schwellenwert festzulegen.
Muss ich noch etwas anderes tun, als den Dateipfad festzulegen?
Laut den Dokumenten von MySQL
Wenn für --log-slow-queries kein Dateiname angegeben wird, lautet der Standardname host_name-slow.log. Der Server erstellt die Datei im Datenverzeichnis, sofern nicht anders angegeben Ein absoluter Pfadname wird angegeben, um ein anderes Verzeichnis anzugeben.
Laufen
VARIABLEN ANZEIGEN
Gibt keinen Protokolldateipfad an und ich sehe keine langsame Abfrageprotokolldatei auf meinem Server ...
BEARBEITEN
Sieht so aus, als würde ich die Serverversion 5.0.77 verwenden, also musste ich Folgendes tun:
SET GLOBAL log_slow_queries = 1;
aber ich bekomme: FEHLER 1238 (HY000): Die Variable 'log_slow_queries' ist eine schreibgeschützte Variable
Ich gehe davon aus, dass ich den Server neu starten muss und log_slow_queries in meiner Konfiguration festgelegt habe.
Antworten:
Versuchen Sie es
SET GLOBAL slow_query_log = 'ON';
und vielleichtFLUSH LOGS;
Dies setzt voraus, dass Sie MySQL 5.1 oder höher verwenden. Wenn Sie eine frühere Version verwenden, müssen Sie den Server neu starten. Dies ist im MySQL-Handbuch dokumentiert . Sie können das Protokoll entweder in der Konfigurationsdatei oder in der Befehlszeile konfigurieren.
quelle
SET GLOBAL slow_query_log = 'OFF';
funktioniert auch wie erwartet.FLUSH LOGS
war in beiden Fällen nicht notwendig.Bei langsamen Abfragen in Version <5.1 hat die folgende Konfiguration für mich funktioniert:
Beachten Sie auch, dass Sie es unter einen
[mysqld]
Teil der Konfigurationsdatei legen und neu startenmysqld
.quelle
sudo mkdir /var/log/mysql
sudo touch /var/log/mysql/slow-query.log
sudo chown -R _mysql /var/log/mysql/
log_slow_queries
wurde in MySQL 5.1.29 von veraltetslow-query-log
. Das MySQL 5.1-Referenzhandbuch enthält weitere Details.Protokoll aktiviert finden oder nicht?
Stellen Sie die Protokolle ein: -
quelle
MySQL Manual - Slow-Query-Log-Datei
Dies besagt, dass Sie Folgendes ausführen können, um die Slow-Log-Datei (ab 5.1.6) festzulegen:
Die Variable slow_query_log steuert nur, ob sie aktiviert ist oder nicht.
quelle
Diese arbeiten
In meinem Setup 5.1.42 kaputt
http://bugs.mysql.com/bug.php?id=32565
Der beste Weg, dies zu tun, besteht darin, log_slow_time auf sehr hoch zu setzen und so das langsame Abfrageprotokoll "auszuschalten". Verringern Sie die log_slow_time, um sie zu aktivieren. Verwenden Sie denselben Trick (auf AUS gesetzt) für log_queries_not_using_indexes.
quelle
Ich denke, das Problem besteht darin, sicherzustellen, dass der MySQL-Server die Rechte an der Datei hat und diese bearbeiten kann.
Wenn Sie Zugriff auf die Datei erhalten können, können Sie folgende Einstellungen vornehmen:
SET GLOBAL slow_query_log = 1;
Wenn nicht, können Sie den Server nach dem Ändern der Konfigurationsdatei jederzeit neu laden. Unter Linux ist es normalerweise
/etc/init.d/mysql reload
quelle
Wenn Sie allgemeine Fehlerprotokolle und ein langsames Abfragefehlerprotokoll in der Tabelle anstelle der Datei aktivieren möchten
So starten Sie die Anmeldetabelle anstelle der Datei:
So aktivieren Sie das allgemeine und langsame Abfrageprotokoll:
So zeigen Sie die Protokolle an:
Weitere Details finden Sie unter diesem Link
http://easysolutionweb.com/technology/mysql-server-logs/
quelle
Dies sollte auf MySQL> 5.5 funktionieren
quelle