Aktivieren und Konfigurieren des MySQL-Protokolls für langsame Abfragen

Aktivieren und Konfigurieren des MySQL-Protokolls für langsame Abfragen

Einführung

Das MySQL-Protokoll für langsame Abfragen ist eine wichtige Funktion zur Fehlerbehebung bei problematischen SQL-Anweisungen und zur Überprüfung der aktuellen MySQL-Leistung.

Überprüfen Sie, ob die langsame Abfragefunktion aktiviert ist:

mysql> Variablen wie „slow_query%“ anzeigen;
+---------------------+------------------------------------+
| Variablenname | Wert |
+---------------------+------------------------------------+
| slow_query_log | AUS |
| slow_query_log_datei | /var/lib/mysql/instance-1-slow.log |
+---------------------+------------------------------------+
2 Zeilen im Satz (0,01 Sek.)
mysql> Variablen wie „long_query_time“ anzeigen;
+-----------------+------------+
| Variablenname | Wert |
+-----------------+------------+
| lange Abfragezeit | 10.000000 |
+-----------------+------------+
1 Zeile im Satz (0,00 Sek.)

veranschaulichen:

slow_query_log Status der Aktivierung langsamer Abfragen
slow_query_log_file Der Speicherort, an dem das langsame Abfrageprotokoll gespeichert wird (dieses Verzeichnis erfordert Schreibberechtigungen für das laufende MySQL-Konto und ist im Allgemeinen auf das MySQL-Datenspeicherverzeichnis eingestellt)
long_query_time Wie viele Sekunden dauert es, bis eine Abfrage aufgezeichnet wird?

Konfiguration

Temporäre Konfiguration

Die Protokollierung langsamer Abfragen ist standardmäßig nicht aktiviert. Aktivieren Sie sie vorübergehend mit dem folgenden Befehl:

mysql> globales slow_query_log='ON' festlegen;
Abfrage OK, 0 Zeilen betroffen (0,00 Sek.)
 
mysql> setze globale slow_query_log_file='/var/lib/mysql/instance-1-slow.log';
Abfrage OK, 0 Zeilen betroffen (0,00 Sek.)
 
mysql> setze globale long_query_time=2;
Abfrage OK, 0 Zeilen betroffen (0,00 Sek.)

Permanente Konfiguration Ändern Sie die Konfigurationsdatei, um den Status einer permanenten Konfiguration zu erreichen:

/etc/mysql/conf.d/mysql.cnf
[mysqld]
slow_query_log = EIN
slow_query_log_file = /var/lib/mysql/instance-1-slow.log
lange_Abfragezeit = 2

Starten Sie MySQL nach der Konfiguration neu.

prüfen

Führen Sie den folgenden Befehl aus, um die problematische SQL-Anweisung auszuführen:

mysql> wähle sleep(2);
+----------+
| schlafen(2) |
+----------+
| 0 |
+----------+
1 Zeile im Satz (2,00 Sek.)

Sehen Sie sich dann den Inhalt des langsamen Abfrageprotokolls an:

$ cat /var/lib/mysql/instance-1-slow.log
/usr/sbin/mysqld, Version: 8.0.13 (MySQL Community Server – GPL). gestartet mit:
TCP-Port: 3306 Unix-Socket: /var/run/mysqld/mysqld.sock
Zeit-ID-Befehlsargument
/usr/sbin/mysqld, Version: 8.0.13 (MySQL Community Server – GPL). gestartet mit:
TCP-Port: 3306 Unix-Socket: /var/run/mysqld/mysqld.sock
Zeit-ID-Befehlsargument
# Zeit: 2018-12-18T05:55:15.941477Z
# Benutzer@Host: root[root] @ localhost [] ID: 53
# Abfragezeit: 2.000479 Sperrzeit: 0.000000 Gesendete Zeilen: 1 Untersuchte Zeilen: 0
SET-Zeitstempel=1545112515;
wähle sleep(2);

Oben finden Sie Einzelheiten zum Aktivieren und Konfigurieren des MySQL Slow Query Log. Weitere Informationen zum MySQL Slow Query Log finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM!

Das könnte Sie auch interessieren:
  • Detaillierte Erläuterung der MySql-Analyse langsamer Abfragen und Öffnen des Protokolls langsamer Abfragen
  • So aktivieren Sie das MySQL-Protokoll für langsame Abfragen log-slow-queries
  • Tipps zum Aktivieren des langsamen Abfrageprotokolls in MYSQL5.7.9
  • mysql langsame Abfrage aktivieren So aktivieren Sie die Protokollierung langsamer MySQL-Abfragen
  • So aktivieren Sie das langsame Abfrageprotokoll in MySQL
  • So aktivieren Sie die Protokollfunktion für langsame Abfragen in MySQL
  • Detaillierte Erklärung zum Aktivieren des langsamen Abfrageprotokolls in der MySQL-Datenbank
  • Die Rolle und Öffnung des MySQL-Protokolls für langsame Abfragen
  • MySQL-Optimierungslösung: Aktivieren Sie das Protokoll für langsame Abfragen

<<:  XHTML-Tags, die durch den Ort der Verwendung leicht verwechselt werden können

>>:  Beheben Sie das Problem, dass weder der Repository- noch der Tag-Name leer sind, nachdem Docker ein neues Image geladen hat.

Artikel empfehlen

JavaScript-OffsetParent-Fallstudie

1. Definition von offsetParent: offsetParent ist ...

Was ist Webdesign

<br />Originalartikel: http://www.alistapart...

So installieren Sie die MySQL 8.0-Datenbank auf dem M1-Chip (Bild und Text)

1. Herunterladen Zunächst möchte ich einen inländ...

Zabbix konfiguriert DingTalks Alarmfunktion mit Bildern

Umsetzungsideen: Zunächst müssen die Alarminforma...

Detaillierte Erklärung zum Anpassen des Stils von CSS-Bildlaufleisten

Dieser Artikel stellt den CSS-Bildlaufleistensele...

MySQL: Datenintegrität

Die Datenintegrität wird in Entitätsintegrität, D...

Vue-Grundlagen MVVM, Vorlagensyntax und Datenbindung

Inhaltsverzeichnis 1. Vue-Übersicht Offizielle Vu...

Neue Einstellungen für Text und Schriftarten in CSS3

Textschatten Textschatten: horizontaler Versatz, ...

Detaillierte Erklärung der Docker-Nutzung unter CentOS8

1. Installation von Docker unter CentOS8 curl htt...

Detaillierte Schritte zur Installation von Tomcat, MySQL und Redis mit Docker

Inhaltsverzeichnis Tomcat mit Docker installieren...

JS implementiert das Schere-Stein-Papier-Spiel

In diesem Artikelbeispiel wird der spezifische JS...

So konfigurieren Sie den Tomcat-Server für Eclipse und IDEA

Tomcat-Serverkonfiguration Jeder, der das Web ken...