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) {
(Spüloption) (, Spüloption)…
| (tables_option) }

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;
Bsp.: -
FLUSH TABLE TEST;

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.

Helfen Sie der Entwicklung der Website und teilen Sie den Artikel mit Freunden!