Heim  >  Artikel  >  Datenbank  >  So aktivieren Sie das langsame MySQL-Abfrageprotokoll

So aktivieren Sie das langsame MySQL-Abfrageprotokoll

PHPz
PHPzOriginal
2023-04-20 10:11:571588Durchsuche

Langsame Abfrage bezieht sich auf eine SQL-Anweisung, deren Ausführungszeit die geplante Zeit im Vergleich zur geplanten Zeit überschreitet. Wenn langsame Abfragen nicht rechtzeitig gelöscht werden, kann die Leistung der Datenbank auf dem Server stark beeinträchtigt werden. Daher ist es sehr wichtig, das langsame MySQL-Abfrageprotokoll in einer Produktionsumgebung zu aktivieren.

MySQL Slow Query Log hilft Ihnen, Details zu Abfragen mit schlechter Leistung zu veröffentlichen. Wird bei der Diagnose und Lösung von Leistungsproblemen in Produktionsumgebungen sehr hilfreich sein. In diesem Artikel stellen wir detailliert vor, wie Sie das MySQL-Protokoll für langsame Abfragen aktivieren.

Schritt 1: Überprüfen Sie den Standardpfad des langsamen MySQL-Abfrageprotokolls.

Wir müssen den Standardpfad des langsamen MySQL-Abfrageprotokolls überprüfen. Auf Linux-Systemen wird das langsame MySQL-Abfrageprotokoll in der Datei /var/lib/mysql/hostname-slow.log gespeichert.

Schritt 2: Bearbeiten Sie die MySQL-Konfigurationsdatei my.cnf

Um das MySQL-Protokoll für langsame Abfragen zu aktivieren, müssen wir die MySQL-Konfigurationsdatei bearbeiten. Meine my.cnf-Datei befindet sich im Verzeichnis /etc/mysql/.

Öffnen Sie die Datei my.cnf mit dem Vim-Editor.

$ sudo vim /etc/mysql/my.cnf

Schritt 3: Fügen Sie den folgenden Inhalt in die Datei my.cnf ein.

Fügen Sie den folgenden Inhalt am Ende der Datei an:

slow_query_log = 1
slow_query_log_file = /var/lib/mysql/ hostname-slow.log
long_query_time = 2

In der obigen Konfiguration ist

  • slow_query_log eine Schaltervariable, die zum Aktivieren oder Deaktivieren verwendet wird das MySQL-Protokoll für langsame Abfragen. Wenn Sie diesen Wert auf 1 setzen, wird die langsame MySQL-Abfrageprotokollierung aktiviert.
  • slow_query_log_file wird verwendet, um den Speicherort und den Namen der MySQL-Protokolldatei für langsame Abfragen anzugeben.
  • long_query_time ist eine Ganzzahl, die die Zeit angibt, die erforderlich ist, damit eine Abfrage als langsame Abfrage betrachtet wird. In diesem Beispiel legen wir den Wert auf 2 Sekunden fest. Mit anderen Worten: Wenn die Ausführungszeit 2 Sekunden überschreitet, wird dies als langsame Abfrage aufgezeichnet.

Nachdem Sie die Datei my.cnf bearbeitet haben, speichern und schließen Sie die Datei.

Schritt vier: MySQL-Dienst neu starten

Starten Sie Ihren MySQL-Dienst neu, damit die Änderungen in der Datei my.cnf wirksam werden.

$sudo service mysql restart

Schritt fünf: MySQL Slow Query Log überprüfen

Um das MySQL Slow Query Log zu überprüfen, geben Sie den folgenden Befehl ein:

mysql> SHOW GLOBAL VARIABLES LIKE 'slow_query_log';

Wenn das MySQL Slow Query Log aktiviert ist, lautet die Ausgabe wie folgt:

+----------------+-------+
| Variable_name  | Value |
+----------------+-------+
| slow_query_log | ON    |
+----------------+-------+

Wir können dies mit dem überprüfen Folgender Befehl: Protokolldatei für langsame Abfrage:

$ sudo cat /var/lib/mysql/ hostname-slow.log

Wenn eine Abfrage long_query_time überschreitet, protokollieren Sie sie in einer Datei.

Fazit

Durch die Aktivierung des langsamen MySQL-Abfrageprotokolls können detaillierte Informationen zur Abfrageausführungszeit bereitgestellt werden, was für die Diagnose und Lösung von Leistungsproblemen in internen Produktionssystemen sehr hilfreich ist. In diesem Artikel wird erläutert, wie Sie das langsame MySQL-Abfrageprotokoll auf Linux-Systemen aktivieren. Bevor Sie das MySQL-Protokoll für langsame Abfragen aktivieren, testen Sie es unbedingt in einer Testumgebung und führen Sie ausreichend Tests durch, um sicherzustellen, dass sich die Funktion nicht negativ auf Ihre Produktionsdatenbank auswirkt.

Das obige ist der detaillierte Inhalt vonSo aktivieren Sie das langsame MySQL-Abfrageprotokoll. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn