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.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:
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:
|
<<: Hinweise zum Proc-Dateisystem des Linux-Kernel-Gerätetreibers
>>: Detaillierte Erklärung zum schnellen Betrieb einer MySQL-Datenbank in einer Node.js-Umgebung
1. ref wird kopiert, die Ansicht wird aktualisier...
Inhaltsverzeichnis Index - Allgemeiner Index - Ei...
Vorwort smb ist der Name eines Protokolls, das fü...
Inhaltsverzeichnis 1. Definition des Stapels 2. J...
<br />Ursprünglicher Link: http://www.dudo.o...
Ich habe bereits zuvor ein Beispiel geschrieben, ...
Umfeld System: Ubuntu 18.04 Software: qt5.12.8 1....
Problembeschreibung (Umgebung: Windows 7, MySql 8...
Einfache Beschreibung Da es zuvor mit Centos7 ers...
Die Verwendung von depends_on zum Sortieren von C...
Informationen zur Centos-Installation von MySQL f...
Laden Sie die offizielle Website herunter Wählen ...
Inhaltsverzeichnis Routing-Plugins modular nutzen...
Vorwort Wir alle wissen, dass Startups zunächst m...
In diesem Artikel wird der spezifische Code von j...