Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 13673|Antwort: 0

[Quelle] MySQL ermöglicht generische Abfrageprotokolle und langsame Abfrageprotokolle

[Link kopieren]
Veröffentlicht am 19.03.2019 16:31:34 | | | |
Logs in MySQL umfassen: Fehlerprotokolle, binäre Protokolle, generische Abfrageprotokolle, langsame Abfrageprotokolle usw. Hier sind zwei häufig verwendete Funktionen: allgemeines Abfrageprotokoll und langsames Abfrageprotokoll.

1) Langsame Abfrageprotokolle:Protokolliere alle Abfragen, die länger als long_query_time Sekunden ausgeführt werden oder keine Indizes verwenden

2) Allgemeines Abfrageprotokoll:Erfassen Sie die erstellten und ausgeführten Kundenverbindungen.


1: Über die langsame MySQL-Abfrage:
Wie man langsames Abfragelogging in Mysql aktiviert
https://www.itsvse.com/thread-1767-1-1.html
(Quelle: Architect_Programmer)

Das langsame Abfrageprotokoll von MySQL ist eine Art Protokollierung, die von MySQL bereitgestellt wird und verwendet wird, um Anweisungen aufzunehmen, dass die Antwortzeit den Schwellenwert in MySQL überschreitet, wobei sich speziell SQL mit einer Laufzeit von mehr als long_query_time Wert bezieht, die im langsamen Abfrageprotokoll erfasst werden (Logs können in Dateien oder Datenbanktabellen geschrieben werden, wenn die Leistungsanforderungen hoch sind, wird empfohlen, Dateien zu schreiben). Standardmäßig aktiviert die MySQL-Datenbank keine langsamen Abfrageprotokolle, und der Standardwert der long_query_time beträgt 10 (d. h. 10 Sekunden, meist auf 1 Sekunde gesetzt), das heißt, Anweisungen, die länger als 10 Sekunden laufen, sind langsame Abfrageanweisungen.

Im Allgemeinen treten langsame Abfragen in großen Tabellen auf (zum Beispiel enthält eine Tabelle Millionen von Daten), und die Felder der Abfragebedingungen sind nicht indexiert; zu diesem Zeitpunkt werden die Felder, die den Abfragebedingungen entsprechen, in der gesamten Tabelle gescannt, was Zeit braucht, um die long_query_time zu überprüfen.

Es handelt sich um eine langsame Abfrageanweisung.

Frage: Wie kann ich den aktuellen Öffnungsstatus des langsamen Abfrageprotokolls überprüfen?

Geben Sie den Befehl in MySQL ein:


Die folgenden Parameter sind hauptsächlich beherrscht:

(1) Der Wert von slow_query_log ist EIN, um das langsame Abfrageprotokoll einzuschalten, und AUS, um das langsame Abfrageprotokoll auszuschalten.

(2) Der Wert von slow_query_log_file ist das aufgezeichnete langsame Abfrageprotokoll zur Datei (Anmerkung: Der Standardname ist hostname.log, egal ob das langsame Abfrageprotokoll in die angegebene Datei geschrieben wird, man muss das Ausgabeprotokollformat der langsamen Abfrage als Datei angeben, und der zugehörige Befehl lautet: zeigt Variablen wie '%log_output%'; um das Format der Ausgabe zu sehen).

(3) long_query_time gibt den Schwellenwert für eine langsame Abfrage fest, das heißt, wenn die Ausführungszeit diese Schwelle überschreitet, handelt es sich um eine langsame Abfrage, und der Standardwert beträgt 10 Sekunden.

(4) log_queries_not_using_indexes Wenn der Wert auf AN gesetzt ist, werden alle Abfragen, die den Index nicht nutzen, aufgezeichnet (Hinweis: Wenn der log_queries_not_using_indexes nur auf AN und der slow_query_log auf AUS gesetzt ist, tritt die Einstellung zu diesem Zeitpunkt nicht in Kraft, das heißt, die Einstellung wirkt, wenn der Wert des slow_query_log auf ON gesetzt ist) , die in der Regel vorübergehend eingeschaltet wird, wenn die Performance gestimmt wird.


2. Allgemeines Abfrageprotokoll

Wenn der Wert von general_log istON ist an, fürOFF ist geschlossen(Standardmäßig ausgeschaltet).

Überprüfen Sie das Format der aktuellen Ausgabe des langsamen Abfrageprotokolls, das FILE (ein hostname.log in einer Datendatei in einer digitalen Datenbank) oder eine TABLE (mysql.general_log in einer Datenbank gespeichert) sein kann



(Hinweis: Der obige Befehl ist nur aktuell wirksam, wenn MySQL-Neustarts ungültig sind; wenn du möchtest, dass er dauerhaft wirksam wird, musst du my.cnf konfigurieren.)

Die Darstellung der Log-Ausgabe ist wie folgt:





Die Datei my.cnf ist wie folgt konfiguriert:

general_log=1 #为1表示开启通用日志查询 zeigt ein Wert von 0 an, dass die generische Loganfrage geschlossen ist

log_output=FILE,TABLE# Legt das Ausgabeformat des allgemeinen Logs auf Datei und Tabelle fest





Vorhergehend:C# Enum-Enum-Typ-Operationenerweiterungsklasse
Nächster:crypto-js berechnet den sha256-Wert der Datei
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com