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

Implementierung des Docker-Verpackungsimages und Konfigurationsänderung

Ich bin in letzter Zeit beim Erlernen von Docker ...

CSS- und HTML- und Front-End-Technologie-Schichtendiagramm

Front-End-Technologieschicht (Das Bild ist etwas e...

Die Bedeutung des Statuscodes im HTTP-Protokoll

Ein Statuscode, der eine vorläufige Antwort anzei...

JavaScript-OffsetParent-Fallstudie

1. Definition von offsetParent: offsetParent ist ...

So verwenden Sie Docker zum lokalen Verpacken und Bereitstellen von Images

Erste Verwendung von Docker zum lokalen Verpacken...

Tutorial zur Installation von MySQL 5.7.28 auf CentOS 6.2 (MySQL-Hinweise)

1. Umweltvorbereitung 1.MySQL-Installationspfad: ...

Analyse des Verwendungsbeispiels für den Common Table Expression CTE in mysql8

Dieser Artikel beschreibt anhand eines Beispiels ...

Einführung in berechnete Eigenschaften in Vue

Inhaltsverzeichnis 1. Was ist eine berechnete Eig...

Implementieren eines Einkaufswagens mit nativem JavaScript

In diesem Artikel wird der spezifische JavaScript...

So beenden Sie den MySQL-Prozess ordnungsgemäß und sicher

Vorwort In diesem Artikel wird der Vorgang zum He...

Detaillierte Diskussion zum Thema mysqldump-Datenexport

1. Bei der Verwendung von mysqldump wird ein Fehl...

So erstellen Sie mit Harbor ein privates Docker-Repository

Inhaltsverzeichnis 1. Open-Source-Lagerverwaltung...