it-swarm.com.de

Wo finde ich das langsame MySQL-Protokoll?

Wie der Titel schon sagt, wo kann ich es sehen?

Gibt es Konfigurationsoptionen dafür (wie viele ms würden bestimmen, ob eine Abfrage langsam ist oder nicht)?

26
poelinca

Sie finden es abhängig von Ihrer Installation im Standardverzeichnis. Auf meinem Red Hat ist es beispielsweise/var/log/mysql /

Die Abfragezeit ist die Zeit in Sekunden, über die die Aufzeichnung gestartet werden soll. Dies kann beim Start und zur Laufzeit erfolgen.

log-slow-queries = /var/log/mysql/mysql-slow.log

long_query_time = 1

22
David Hall

In MySQL: show global variables like '%slow%';

Update: Hier ist ein Link zum Handbuch: Linktext

26
SteveHarville

Dies sind die relevanten Optionen (und Einstellungen), die ich im Allgemeinen in all meinen my.cnf Habe/verwende, um langsame Abfragen zu protokollieren:

log_output=FILE
slow_query_log=1
slow_query_log_file=/var/log/mysql/mysql.slow 
long_query_time=0.001 
log-queries-not-using-indexes=0

Beachten Sie, dass für long_query_time ,

Ab MySQL 5.1.21 ... wird beim Protokollieren in einer Datei eine Auflösung von Mikrosekunden unterstützt.

7
Riedsio

Durchsuchen Sie Ihre mysqld-Konfigurationsdatei (normalerweise /etc/my.cnf).

An Ihrer Shell:

grep slow /etc/my.cnf
3
randomx

Hier ist auch etwas zu beachten:

Wenn Sie die Option verwenden

log-output=TABLE

suchen Sie in Ihrer Datei /etc/my.cnf nach dem langsamen Protokoll als CSV-Speicher-Engine-basierte Tabelle, die sich ausgerechnet im MySQL-Schema befindet.

Dies wirkt sich auch auf das allgemeine Protokoll aus, sobald Sie es aktivieren.

2
RolandoMySQLDBA