VorwortDiese Lösung eignet sich nur für kleine Projekte, Projekte, die nicht online sind, oder für Notfälle. Sobald die langsame Protokollabfrage aktiviert ist, erhöht sich der Druck auf die Datenbank. Daher wird im Allgemeinen der Hintergrund verwendet, um die Datenbetriebszeit in die Protokolldatei zu schreiben, und das Protokoll wird regelmäßig jede Woche gelöscht. MySQL-Optimierungsplan: Aktivieren Sie das Protokoll für langsame Abfragen (die Ausführung der SQL-Abfrage dauert länger als eine Sekunde usw.). Protokollierung langsamer Abfragen aktivieren: MySQL kann Abfrageanweisungen aufzeichnen, die die angegebene Zeit überschreiten. Durch das Auffinden und Analysieren von Leistungsengpässen kann die Leistung des Datenbanksystems besser optimiert werden. Parameterbeschreibung: slow_query_log Status der Aktivierung langsamer Abfragen, ON zum Aktivieren, OFF zum Deaktivieren 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? Wichtige Punkte: Die Slow-Log-Version muss höher sein, niedrigere Versionen können dies nicht unterstützen. Diese Version ist: 5.7.20 SELECT VERSION(); Versionsnummer abfragen In dieser Version ist das langsame Protokoll standardmäßig aktiviert. mysql> Datenbanken anzeigen; mysql> use test; //Eine Datenbank angebenmysql> Variablen wie „slow_query%“ anzeigen; +-----------------------------------------+----------------------------------+ | Variablenname | Wert | +-----------------+------------+ | slow_query_log | EIN | +-----------------+------------+ | slow_query_log_file | YH-20161209QIZC-slow.log | +-----------------+------------+ mysql> Variablen wie „long_query_time“ anzeigen; +-----------------+------------+ | Variablenname | Wert | +-----------------+------------+ | lange Abfragezeit | 10.000000 | +-----------------+------------+ //Standardmäßig wird die Abfrage nur aufgezeichnet, wenn sie länger als 10 Sekunden dauert Einrichten der Protokollierung langsamer AbfragenMethode 1: Globale Variableneinstellungen (diese Methode schlägt fehl, wenn die Datenbank neu gestartet wird und neu konfiguriert werden muss) Setzen Sie die globale Variable slow_query_log auf den Status „ON“ mysql> globales slow_query_log='ON' festlegen; Legen Sie den Speicherort für das Protokoll langsamer Abfragen fest. mysql> setze global slow_query_log_file='/usr/local/mysql/data/slow.log'; //linux mysql> setze global slow_query_log_file='D:\\mysq\data\slow.log'; //Windows Legt fest, dass die Abfrage protokolliert wird, wenn sie länger als 1 Sekunde dauert (sollte der Befehl einmal nicht funktionieren, könnt ihr das aus- und wieder einschalten) mysql> globale long_query_time=1 festlegen; Methode 2: Konfigurationsdateieinstellungen (Serverneustart hat keine Auswirkungen) Ändern Sie die Konfigurationsdatei my.cnf und fügen Sie unter [mysqld] Folgendes hinzu: [mysqld] slow_query_log = EIN slow_query_log_file = /usr/local/mysql/data/slow.log //linux lange_Abfragezeit = 1 3. Starten Sie den MySQL-Dienst neu Dienst MySQL Neustart prüfen1. Führen Sie eine langsame SQL-Abfrage aus mysql> wähle sleep(2); 2. Überprüfen Sie, ob langsame Abfrageprotokolle generiert werden Hier können Sie die SQL- und Abfragezeit sehen Wenn das Protokoll vorhanden ist, wurde die MySQL-Einstellung für langsame Abfragen erfolgreich aktiviert! Anhang: Loganalysetool mysqldumpslowWenn 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 Sehen Sie sich die Hilfeinformationen für mysqldumpslow an: [root@DB-Server ~]# mysqldumpslow --help Verwendung: mysqldumpslow [ OPTS... ] [ LOGS... ] Analysieren und fassen Sie das MySQL-Protokoll für langsame Abfragen zusammen. Optionen sind --verbose ausführlich --debug debug --help schreibt diesen Text in die Standardausgabe -v ausführlich -d debug -s ORDER, wonach sortiert werden soll (al, at, ar, c, l, r, t), 'at' ist Standard al: durchschnittliche Sperrzeit ar: Durchschnittlich gesendete Zeilen at: durchschnittliche Abfragezeit c: Anzahl l: Sperrzeit r: gesendete Zeilen t: Abfragezeit -r Sortierreihenfolge umkehren (größtes zuletzt statt zuerst) -t NUM zeigt nur die Top-n-Abfragen an -a abstrahiere nicht alle Zahlen zu N und Strings zu 'S' -n NUM abstrakte Zahlen mit mindestens n Ziffern innerhalb der Namen -g PATTERN grep: nur Anweisungen berücksichtigen, die diesen String enthalten -h HOSTNAME Hostname des Datenbankservers für *-slow.log Dateiname (kann ein Platzhalter sein), Der Standardwert ist '*', d. h. alle -i NAME Name der Serverinstanz (bei Verwendung des Startskripts mysql.server) -l Sperrzeit nicht von Gesamtzeit abziehen -s gibt die Sortiermethode an.
-t, was „oberste n“ bedeutet, gibt an, wie viele Datensätze zurückgegeben werden. -g, gefolgt von einem passenden Muster für einen regulären Ausdruck, ohne Berücksichtigung der Groß-/Kleinschreibung; Zum Beispiel Holen Sie sich die 10 wichtigsten SQL-Anweisungen, die die meisten Datensätze zurückgeben.
Holen Sie sich die 10 am häufigsten besuchten SQLs
Holen Sie sich die ersten 10 Abfrageanweisungen mit Left Joins, sortiert nach Zeit.
Es wird außerdem empfohlen, diese Befehle in Kombination mit | und mehr zu verwenden, da sonst möglicherweise der Bildschirm aktualisiert wird.
ZusammenfassenDies ist das Ende dieses Artikels über die MySQL-Optimierungslösung zum Aktivieren des langsamen Abfrageprotokolls. Weitere relevante Inhalte zum Aktivieren des langsamen Abfrageprotokolls von MySQL finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
>>: Responsive Layout-Zusammenfassung (empfohlen)
Kubernetes ist aufgrund seiner Anwendungsportabil...
Bild herunterladen Auswählen eines MySQL-Images D...
Der IE hat uns in der frühen Entwicklungsphase Ko...
Kommen wir heute gleich zur Sache und sprechen üb...
Die Kapselung und Verwendung der Vue-Komponente z...
1: Anweisungsreihenfolge der Gruppierungsfunktion...
Für die Installation von Docker auf CentOS muss d...
Inhaltsverzeichnis Einführung Verwenden des strik...
1. Befehlsmethode Führen Sie den Nginx-Dienst im ...
Manche Leute sind vielleicht noch nicht auf dieses...
Ich habe einmal versprochen, dass ich so lange wei...
Beim Ändern des Standarddatums-/Uhrzeitwerts über...
Einige MySQL-Tabellen können doppelte Datensätze ...
In diesem Artikel wird die Installations- und Kon...
1. Es gibt im Allgemeinen zwei Methoden zur Steue...