Helfen Sie der Entwicklung der Website und teilen Sie den Artikel mit Freunden!
Einführung in MySQL Flush Log
Flush-Protokoll wird verwendet, um die einzelnen Protokolle wie Binärprotokolle, allgemeine Protokolle und Fehlerprotokolle usw. zu leeren. Flush-Status, Flush-Hosts, Flush-Privilegien und Flush-Tabellen.
Um die Anweisungen oder Befehle zum Löschen des Protokolls auszuführen, müssen wir uns mit dem Konto mit dem „RELOAD“-Privileg mit dem Server verbinden.
Das Leeren des Binärlogs erzeugt eine neue Binärlogdatei. Während das Leeren des allgemeinen Abfrageprotokolls die Protokolldatei schließt und erneut öffnet. Dasselbe gilt für das langsame Abfrageprotokoll und das Fehlerprotokoll, es schließt einfach die Protokolldatei und öffnet sie erneut.
Hinweis: Wir können die Flush-Anweisungen nicht in den Store-Funktionen oder Triggern verwenden. Wir können es in gespeicherten Prozeduren verwenden. Diese Prozedur sollte wiederum nicht von den Funktionen oder Triggern aufgerufen werden.Syntax
Unten ist die Syntax für den Flush: -
FLUSH (NO_WRITE_TO_BINLOG - LOKAL) {
| (tables_option) }
(Spüloption) (, Spüloption)…
Below-Syntax für Flush-Tabellen: -
FLUSH TABLEStbl_name;
FLUSH TABLES tbl_name (, tbl_name), TABLES WITH READ LOCK;
Hier sind die flush_option und tables_options wie folgt:
- flush_option: BINARY LOGS, DES_KEY_FILE, ENGINE LOGS, ERROR LOGS, ALLGEMEINE LOGS, HOSTS, SLOW LOGS, STATUS, LOGS, PRIVILEGES, QUERY CACHE etc.,
- tables_options: tables_option: TABLES, Mehrere Tabellen: - TABLES tbl_name (, tbl_name), TABLES WITH READ LOCK, Mehrere Tabellen: - TABLES tbl_name (, tbl_name)… WITH READ LOCK, TABLES tbl_name (, tbl_name)… FOR EXPORT
Wie funktioniert die MySQL Flush-Protokolldatei?
Die Flush-Anweisung funktioniert wie folgt:
Bevor Sie die Protokolle leeren, ist es immer eine gute Praxis, eine Sicherungskopie der Protokolldateien in einem Verzeichnis zu erstellen.
1. Binärprotokolle leeren
Es wird verwendet, um die binären Protokolldateien, in die der Server schreibt, zu schließen und erneut zu öffnen.
Code:
BINARY LOGS LEEREN;
Ausgabe:
2. Allgemeine Protokolle leeren
Es wird verwendet, um die allgemeinen Protokolldateien, in die der Server schreibt, zu schließen und erneut zu öffnen.
Code:
ALLGEMEINE PROTOKOLLE FLUSHEN;
Ausgabe:
3. Fehlerprotokolle leeren
Es wird verwendet, um die Fehlerprotokolldateien, in die der Server schreibt, zu schließen und erneut zu öffnen.
Code:
FLUSH FEHLERPROTOKOLLE;
Ausgabe:
4. Engine-Protokolle leeren
Es wird verwendet, um die Protokolldateien der Speicher-Engine zu schließen und erneut zu öffnen.
Code:
MOTORPROTOKOLLE FLUSHEN;
Ausgabe:
5. Flush DES_KEY_FILE
Beim Serverstart wird diese Option verwendet, um die DES-Schlüssel aus der „DESC_KEY_FILE“ zu laden.
6. Hosts leeren
Es wird verwendet, um alle Informationen aus dem Host-Cache zu löschen.
Code:
mysqladmin -u root -p flush-hosts / -- um alle Hostinformationen zu leeren --/
Ausgabe:
Oder
Workbench-Ebene Syntax: -
FLUSH HOSTS;
Ausgabe:
7. Protokolle leeren
Es wird verwendet, um alle Informationsprotokolle zu löschen.
Code:
mysqladmin -u root -p flush-logs / -- um alle Protokolle zu leeren --/
Ausgabe:
Oder
Code - Workbench-Ebene
FLUSH LOGS;
Ausgabe:
8. Flush Privilege
Es wird verwendet, um die Grant-Tabellen neu zu laden.
Code:
mysqladmin -u root -p flush-privileges / -- um alle Grant-Tabellen neu zu laden --/
Ausgabe:
Oder
Code - Workbench-Ebene
FLUSH-RECHTE;
Ausgabe:
9. Threads spülen
Es wird verwendet, um den gesamten Thread-Cache zu leeren.
Code:
mysqladmin -u root -p flush-threads / -- um alle Threads zu leeren --/
Ausgabe:
10. Abfragecache leeren
Es wird verwendet, um den Abfrage-Cache zu defragmentieren.
11. Spülstatus
Damit werden die Statusvariablen gelöscht.
Code:
mysqladmin -u root -p flush-status / -- um alle Statusvariablen zu löschen --/
Ausgabe:
Oder
Code - Workbench-Ebene
SPÜLSTATUS;
Ausgabe:
12. Relaisprotokolle leeren
Es wird verwendet, um die Relay-Log-Dateien zu schließen und wieder zu öffnen, in die der Server schreibt.
Code:
FLUSH RELAY LOGS;
Ausgabe:
13. Langsame Protokolle leeren
Es wird verwendet, um die langsamen Protokolldateien, in die der Server schreibt, zu schließen und erneut zu öffnen
Code:
FLUSH SLOW LOGS;
Ausgabe:
14. Flush-Tabellen
Es wird verwendet, um alle Tabellen basierend auf der Sperrbedingung zu leeren.
Code:
mysqladmin -u root -p flush-tables / -- um alle Tabellen zu leeren --/
Ausgabe:
Code:
FLUSH TABLE TBL_NAME;
FLUSH TABLE TEST;
Bsp.: -
Ausgabe:
Beispiel
Lassen Sie uns nun die Flush-Option überprüfen, indem Sie die folgende Anweisung verwenden: -
mysqladmin -help;
Ausgabe für Flush wäre wie folgt:
- flush-hosts Es wird verwendet, um alle gecachten Hosts zu leeren
- flush-logs Wird verwendet, um alle Protokolle zu leeren
- flush-status Wird verwendet, um Statusvariablen zu löschen
- flush-tables Es wird verwendet, um alle Tische zu leeren
- flush-threads Wird verwendet, um den Thread-Cache zu leeren
- flush-privileges Es wird verwendet, um Grant-Tabellen neu zu laden
Sehen wir uns den Screenshot der Ausgabe des Befehls „mysqladmin -help“ an. Unten ist der Screenshot, der dasselbe darstellt. Es gibt viele andere Hilfeoptionen als die Spülung, die im folgenden Screenshot zu sehen ist.
Ausgabe:
Schlussfolgerung
- Flush log wird verwendet, um die einzelnen Protokolle wie Binärprotokolle, allgemeine Protokolle und Fehlerprotokolle usw. zu leeren. Das Leeren kann mithilfe von „mysqladmin“ für die Hosts, Protokolle, Status, Tabellen, Threads und Berechtigungen durchgeführt werden.
- Um die Anweisungen oder Befehle zum Löschen des Protokolls auszuführen, müssen wir uns mit dem Konto mit dem „RELOAD“-Privileg mit dem Server verbinden.
- Das Leeren des Binärlogs erzeugt eine neue Binärlogdatei. Während das Leeren des allgemeinen Abfrageprotokolls die Protokolldatei schließt und erneut öffnet. Dasselbe gilt für das langsame Abfrageprotokoll und das Fehlerprotokoll, es schließt einfach die Protokolldatei und öffnet sie erneut.
- Wir können die Flush-Anweisungen nicht in den Store-Funktionen oder Triggern verwenden. Wir können es in gespeicherten Prozeduren verwenden. Diese Prozedur wiederum sollte nicht von den Funktionen oder Triggern aufgerufen werden.