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

So löschen Sie zusätzliche Kernel in Ubuntu

Schritt 1: Den aktuellen Kernel anzeigen rew $ un...

Zusammenfassung des in JS implementierten Minesweeping-Projekts

Dieser Artikel enthält die Zusammenfassung des JS...

Vue3+Skript-Setup+ts+Vite+Volar-Projekt

Inhaltsverzeichnis Erstellen Sie ein Vue + TS-Pro...

Implementierung der virtuellen React-Liste

Inhaltsverzeichnis 1. Hintergrund 2. Was ist eine...

Implementierung langer Textschatten in Less in CSS3

Dieser Artikel stellt hauptsächlich die Implement...

Detaillierte Erklärung der Angular-Komponentenprojektion

Inhaltsverzeichnis Überblick 1. Einfaches Beispie...

Verwendung von TypeScript-Generics

Inhaltsverzeichnis 1. Einfach zu bedienen 2. Verw...

Automatisches Laden des Kernelmodul-Overlayfs-Vorgangs beim CentOS-Start

Um Kernelmodule in CentOS automatisch zu laden, k...

Detaillierter Prozess zur Implementierung des 2048-Minispiels im WeChat-Applet

Rendern Beispielcode Heute werden wir das WeChat-...

Eine schnelle Lösung für das Problem der PC- und Mobilanpassung

Beim Erstellen einer Webseite müssen wir normaler...

JavaScript zum Erzielen eines einfachen Drag-Effekts

In diesem Artikel wird der spezifische JavaScript...

Docker führt einen Befehl in einem Container außerhalb des Containers aus

Manchmal möchten wir einen Befehl in einem Contai...