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
Inhaltsverzeichnis Vorwort Vorbereiten Umsetzungs...
Einführung in kubectl kubectl ist ein Befehlszeil...
Beim Erstellen von Webseiten verwenden wir häufig ...
Lassen Sie mich zunächst vorstellen, wie Sie PHP ...
Vor Kurzem habe ich Vue verwendet, um das Entwick...
Inhaltsverzeichnis 1. Kommentare zu MySQL-Primärs...
Einführung Das Modul, das die Anzahl gleichzeitig...
1. Einleitung Gilt es als Aufwärmen alter Themen,...
Nachdem ich React eine Weile studiert habe, möcht...
Verwendung gespeicherter Prozeduren in Parametern...
Ich glaube, dass viele Partner, die gerade erst m...
Inhaltsverzeichnis Wie wird die aktuelle Uhrzeit ...
Wenn Sie beispielsweise eine neue Tabelle erstell...
Heute wurde ich gefragt, wozu das Zoom-Attribut i...
Discuz! Forum verfügt über zahlreiche Konfiguratio...