So aktivieren Sie das langsame Abfrageprotokoll in MySQL

So aktivieren Sie das langsame Abfrageprotokoll in MySQL

1.1 Einleitung

Durch Aktivieren des Slow Query Log kann MySQL Abfrageanweisungen aufzeichnen, die die angegebene Zeit überschreiten. Durch das Auffinden und Analysieren von Leistungsengpässen lässt sich die Leistung des Datenbanksystems besser optimieren.

1.2 Melden Sie sich bei der Datenbank an, um sie anzuzeigen

[root@localhost-Bibliothek]# mysql –uroot

Da kein Passwort festgelegt ist, geben Sie das Passwort, falls vorhanden, in mysql –uroot –p ein.

1.2.1 Rufen Sie MySQL auf, um zu prüfen, ob langsame Abfragen aktiviert sind

mysql> Variablen wie „slow_query%“ anzeigen;

+---------------------+------------------------------------------+

| Variablenname | Wert |

+---------------------+------------------------------------------+

| slow_query_log | AUS |

| slow_query_log_datei | /application/mysql/data/localhost-slow.log |

+---------------------+------------------------------------------+

2 Zeilen im Satz (0,00 Sek.)

Parameterbeschreibung:

  1. slow_query_log Status „Langsame Abfrage aktivieren“ OFF Nicht aktiviert ON Aktiviert
  2. 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)

1.2.2 Überprüfen Sie das Timeout für langsame Abfragen

mysql> Variablen wie „long%“ anzeigen;

+-----------------+------------+

| Variablenname | Wert |

+-----------------+------------+

| lange Abfragezeit | 10.000000 |

+-----------------+------------+

1 Zeile im Satz (0,00 Sek.)

long_query_time Die Anzahl der Sekunden, die eine Abfrage überschreitet, bevor sie aufgezeichnet wird. Der Standardwert beträgt 10 Sekunden und wird auf 1 Sekunde geändert.

1.3 Änderungsmethode 1: (nicht empfohlen)

Methode 1: Vorteile: Aktivieren Sie langsame Abfragen vorübergehend, ohne die Datenbank neu zu starten. Nachteile: MySQL startet langsame Abfragen neu und schlägt fehl

Empfehlung: Aus geschäftlichen Gründen empfiehlt sich die Verwendung der zweiten Methode. Die erste Methode kann vorübergehend verwendet werden.

Standardmäßig ist der Wert von slow_query_log OFF, was bedeutet, dass das langsame Abfrageprotokoll deaktiviert ist. Es kann aktiviert werden, indem der Wert von slow_query_log wie unten gezeigt festgelegt wird: : Ob das langsame Abfrageprotokoll aktiviert werden soll, 1 bedeutet ein, 0 bedeutet aus.

1.3.1 Überprüfen Sie, ob die langsame Abfrage aktiviert ist

mysql> Variablen wie „%slow_query_log%“ anzeigen;

+---------------------+------------------------------------------+

| Variablenname | Wert |

+---------------------+------------------------------------------+

| slow_query_log | AUS |

| slow_query_log_datei | /application/mysql/data/localhost-slow.log |

+---------------------+------------------------------------------+

2 Zeilen im Satz (0,01 Sek.)

Änderung der Eingabeanweisung (nach Neustart ungültig, es wird empfohlen, sie in /etc/my.cnf zu ändern, damit sie dauerhaft wirksam wird)

mysql> globales slow_query_log=1 festlegen;

Abfrage OK, 0 Zeilen betroffen (0,11 Sek.)

1.3.2 Erneut prüfen

mysql> Variablen wie „%slow_query_log%“ anzeigen;

+---------------------+------------------------------------------+

| Variablenname | Wert |

+---------------------+------------------------------------------+

| slow_query_log | EIN |

| slow_query_log_datei | /application/mysql/data/localhost-slow.log |

+---------------------+------------------------------------------+

2 Zeilen im Satz (0,00 Sek.)

1.4 Änderungsmethode 2: (empfohlen)

Ändern Sie die langsame MySql-Abfrage. Viele Leute kennen den Pfad von my.cnf nicht. Sie können find verwenden, um ihn zu finden.

Hinweis: Mein MySQL ist im Pfad /etc/my.cnf kompiliert (normalerweise hier)

[root@localhost log]# finden / -type f -name "my.cnf"

/anwendung/mysql-5.5.51/mysql-test/suite/rpl/my.cnf

/anwendung/mysql-5.5.51/mysql-test/suite/federated/my.cnf

/anwendung/mysql-5.5.51/mysql-5.5.51-linux2.6-x86_64/mysql-test/suite/rpl/my.cnf

/anwendung/mysql-5.5.51/mysql-5.5.51-linux2.6-x86_64/mysql-test/suite/federated/my.cnf

/etc/my.cnf ### (normalerweise hier)

1.4.1.1 Änderungen

[root@localhost-Protokoll]# vim /etc/my.cnf

Suchen Sie [mysqld] und fügen Sie hinzu

slow_query_log = 1

slow_query_log_file=/Anwendung/mysql/Daten/localhost-slow.log

lange_Abfragezeit = 1

Parameterbeschreibung:

  1. slow_query_log Langsame Abfrage aktivieren Status 1 ist aktiviert
  2. slow_query_log_file Der Speicherort, an dem das Slow-Query-Log gespeichert wird
  3. long_query_time Die Anzahl der Sekunden, die eine Abfrage überschreitet, bevor sie aufgezeichnet wird. Der Standardwert beträgt 10 Sekunden und wird auf 1 Sekunde geändert.

Nach der Änderung MySQL neu starten

1.5 Ansehen und testen

1.5.1.1 Einfügen einer langsamen Testabfrage

mysql> wähle sleep(2);

+----------+

| schlafen(2) |

+----------+

| 0 |

+----------+

1 Zeile im Satz (2,00 Sek.)

1.5.1.2 Anzeigen von Protokollen langsamer Abfragen

[root@localhost-Daten]# cat /application/mysql/data/localhost-slow.log

/application/mysql/bin/mysqld, Version: 5.5.51-log (MySQL Community Server (GPL)). gestartet mit:

TCP-Port: 3306 Unix-Socket: /tmp/mysql.sock

Zeit-ID-Befehlsargument

/application/mysql/bin/mysqld, Version: 5.5.51-log (MySQL Community Server (GPL)). gestartet mit:

TCP-Port: 3306 Unix-Socket: /tmp/mysql.sock

Zeit-ID-Befehlsargument

/application/mysql/bin/mysqld, Version: 5.5.51-log (MySQL Community Server (GPL)). gestartet mit:

TCP-Port: 3306 Unix-Socket: /tmp/mysql.sock

Zeit-ID-Befehlsargument

# Zeit: 170605 6:37:00

# Benutzer@Host: root[root] @ localhost []

# Abfragezeit: 2.000835 Sperrzeit: 0.000000 Gesendete Zeilen: 1 Untersuchte Zeilen: 0

SET-Zeitstempel=1496615820;

wähle sleep(2);

1.5.1.3 Überprüfen der Anzahl langsamer Abfragen durch MySQL-Befehle

mysql> globalen Status wie „%Slow_queries%“ anzeigen;

+---------------+-------+

| Variablenname | Wert |

+---------------+-------+

| Langsame Abfragen | 1 |

+---------------+-------+

1 Zeile im Satz (0,00 Sek.)

1.6 Protokollanalysetool mysqldumpslow

Wenn Sie in einer Produktionsumgebung Protokolle manuell analysieren und SQL finden und analysieren möchten, ist dies offensichtlich eine manuelle Aufgabe. MySQL bietet ein Protokollanalysetool namens mysqldumpslow

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Detaillierte Erläuterung der MySql-Analyse langsamer Abfragen und Öffnen des Protokolls langsamer Abfragen
  • Tipps zum Aktivieren des langsamen Abfrageprotokolls in MYSQL5.7.9
  • MySQL-Suche und Optimierungstest für langsame Abfragen
  • Tutorial zur Konfiguration und Verwendung des MySQL-Protokolls für langsame Abfragen
  • Grundlegendes Tutorial zur Analyse des MySQL-Protokolls für langsame Abfragen
  • Eine langsame MySQL-Abfrage verursachte einen Fehler
  • Eine langsame SQL-Anweisung löste eine Transformation aus

<<:  Hinweise zum Proc-Dateisystem des Linux-Kernel-Gerätetreibers

>>:  Detaillierte Erklärung zum schnellen Betrieb einer MySQL-Datenbank in einer Node.js-Umgebung

Artikel empfehlen

Eine kurze Analyse des Unterschieds zwischen ref und toRef in Vue3

1. ref wird kopiert, die Ansicht wird aktualisier...

Mysql-Indextypen und grundlegende Anwendungsbeispiele

Inhaltsverzeichnis Index - Allgemeiner Index - Ei...

So erstellen Sie einen vollständigen Samba-Server unter Linux (CentOS-Version)

Vorwort smb ist der Name eines Protokolls, das fü...

Detaillierte Erklärung des JavaScript-Stacks und der Kopie

Inhaltsverzeichnis 1. Definition des Stapels 2. J...

XHTML-Tags haben ein schließendes Tag

<br />Ursprünglicher Link: http://www.dudo.o...

UDP DUP-Timeout UPD-Portstatus-Erkennungscodebeispiel

Ich habe bereits zuvor ein Beispiel geschrieben, ...

So erstellen Sie eine LNMP-Umgebung unter Ubuntu 20.04

Einfache Beschreibung Da es zuvor mit Centos7 ers...

So installieren und ändern Sie das Anfangskennwort von mysql5.7.18

Informationen zur Centos-Installation von MySQL f...

Detaillierte Erläuterung des Vue-Routing-Routers

Inhaltsverzeichnis Routing-Plugins modular nutzen...

So lösen Sie das Problem der hohen Parallelität in der MySQL-Datenbank

Vorwort Wir alle wissen, dass Startups zunächst m...

Natives js imitiert die Pulldown-Aktualisierung eines Mobiltelefons

In diesem Artikel wird der spezifische Code von j...