Protokolle sind wichtige Daten für alle Anwendungen. MySQL verfügt auch über Fehlerprotokolle, Abfrageprotokolle, Protokolle langsamer Abfragen, Transaktionsprotokolle usw. In diesem Artikel werden verschiedene Protokolle zu Referenzzwecken kurz zusammengefasst. Binäres Protokoll Das Binärprotokoll Binlog wird zum Aufzeichnen der Informationen zu Schreibvorgängen (ausgenommen Abfragen) verwendet, die von der Datenbank durchgeführt werden, und wird in binärer Form auf der Festplatte gespeichert. Die MySQL-Datenbank zeichnet mithilfe einer beliebigen Speicher-Engine Binlog-Protokolle auf. Was im Binlog aufgezeichnet wird, ist das logische Protokoll, also die SQL-Anweisung. Nachdem die SQL-Anweisung ausgeführt wurde, wird „binlog“ an die Protokolldatei angehängt. Sie können die Größe der Binlog-Datei festlegen. Wenn die Größe überschritten wird, wird automatisch eine neue Datei erstellt. Es gibt drei Binlog-Formate: STATMENT, ROW und MIXED.
In praktischen Anwendungen wird Binlog hauptsächlich für die Master-Slave-Replikation und Datenwiederherstellung verwendet. Master-Slave-Replikation bedeutet, dass das Binlog auf dem Master-Rechner geöffnet und das Binlog auf irgendeine Weise an den Slave-Rechner gesendet wird. Der Slave-Rechner führt Datenoperationen basierend auf dem Binlog-Inhalt aus, um die Master-Slave-Datenkonsistenz sicherzustellen. Darüber hinaus können Daten aus Binlog mithilfe des Tools mysqlbinlog wiederhergestellt werden. Nach MySQL 5.7 wurde die integrierte Standard-Engine auf die InnoDB-Engine geändert. Wenn die InnoDB-Engine Transaktionen verarbeitet, können Sie den Zeitpunkt für das Schreiben von Protokollen auf die Festplatte festlegen. Standardmäßig werden Protokolle bei jedem Commit auf die Festplatte geschrieben. Sie können den Parameter sync_binlog auch so festlegen, dass das System automatisch bestimmt wird oder alle N Transaktionen einmal geschrieben wird. Abfrageprotokoll Das Abfrageprotokoll zeichnet Informationen zu allen Datenbankanforderungen auf. Ob diese Anfragen ordnungsgemäß ausgeführt wurden oder nicht. Wenn es aktiviert ist, wirkt es sich erheblich auf die Leistung aus und wird daher nicht oft verwendet. Langsames Abfrageprotokoll Das Slow-Query-Log dient der Aufzeichnung von Anweisungen, deren Ausführungszeit einen bestimmten Grenzwert überschreitet. Der Schwellenwert für die Ausführungszeit kann über long_query_time festgelegt werden, der Standardwert beträgt 10 Sekunden. Das Protokoll für langsame Abfragen muss manuell aktiviert werden, was sich auf die Leistung auswirkt und im Allgemeinen nicht empfohlen wird. Das langsame Abfrageprotokoll unterstützt das Schreiben von Datensätzen in Dateien oder Datenbanktabellen. Redo-Log des Transaktionsprotokolls Eines der vier Hauptmerkmale einer Transaktion ist die Dauerhaftigkeit. Daher werden die Datenbankänderungen nach erfolgreicher Transaktion dauerhaft gespeichert und können aus keinem Grund in den ursprünglichen Zustand zurückversetzt werden. Das Redo-Log ist ein auf der Ebene der InnoDB-Engine implementiertes Protokoll. Nicht alle Engines verfügen über ein solches Protokoll. Es wird verwendet, um durch Transaktionen an Datenseiten vorgenommene Änderungen aufzuzeichnen und kann im Falle eines Absturzes zur Wiederherstellung von Daten verwendet werden. Das Redo-Protokoll umfasst den Protokollpuffer im Speicher und die Protokolldatei auf der Festplatte. Nachdem die SQL-Anweisung ausgeführt wurde, wird sie zuerst in den Protokollpuffer geschrieben und dann werden mehrere Puffer gleichzeitig in die Datei geschrieben. In InnoDB werden Datenseiten auch auf die Festplatte geschrieben. Der Hauptzweck des Redo-Logs besteht darin, die Notwendigkeit zum Schreiben von Datenseiten auf die Festplatte zu verringern. Es ist nicht erforderlich, alle Redo-Logs für Änderungen an Datenseiten zu speichern. Wenn die Datenseite schneller geleert wird als das Redo-Log, ist der Redo-Log-Datensatz für die Datenwiederherstellung von geringer Bedeutung; wenn die Datenseite langsamer geleert wird als das Redo-Log, kann der Teil des Redo-Logs, der schneller ist als die Datenseite, zur schnellen Datenwiederherstellung verwendet werden. Daher ist die Größe der Redo-Logdatei festgelegt. Wenn das Redo-Log das Ende erreicht, wird es zum Anfang zurückgeführt und das Log in einer Schleife geschrieben. Undo-Protokoll für Transaktionsprotokolle Eines der vier Hauptmerkmale von Transaktionen ist die Atomarität. Eine Reihe von Operationen an der Datenbank müssen entweder alle erfolgreich sein oder alle fehlschlagen. Teilweiser Erfolg oder teilweises Fehlschlagen sind nicht zulässig. Daher ist es notwendig, die logischen Änderungen der Daten aufzuzeichnen. Atomarität wird durch ein Undo-Protokoll erreicht. Wenn beispielsweise in einer Transaktion eine Insert-Anweisung ausgeführt wird, zeichnet das Undo-Protokoll eine Delete-Anweisung auf. Wenn in einer Transaktion eine Update-Anweisung ausgeführt wird, zeichnet das Undo-Protokoll eine entgegengesetzte Update-Anweisung auf. Auf diese Weise können Sie bei einem Fehlschlagen einer Transaktion über das Undo-Protokoll zum Zustand vor der Transaktion zurückkehren. Oben finden Sie den detaillierten Inhalt der Zusammenfassung wichtiger MySQL-Protokolldateien. Weitere Informationen zu MySQL-Protokolldateien finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM! Das könnte Sie auch interessieren:
|
>>: So implementieren Sie eine Maskenebene in HTML So verwenden Sie eine Maskenebene in HTML
Drei Funktionen: 1. Automatische vertikale Zentrie...
Das 10-tägige Tutorial verwendet eine äußerst ver...
Da HTML-E-Mail keine unabhängige HOST-Seite auf di...
Einführung MySQL erreicht eine hohe Verfügbarkeit...
Im Frontend-Designentwurf sieht man oft Schließen...
1. Herunterladen 1. Download-Adresse der offiziel...
Wie unten dargestellt: Gestern: UNIX_TIMESTAMP(CA...
Bei der Migration einer Oracle-Datenbank zu einer...
1. Mobile Auswahl der Formulartexteingabe: Wenn i...
Dieser Artikel veranschaulicht anhand von Beispie...
Die folgenden drei Methoden werden häufig verwende...
In diesem Artikel wird der spezifische JavaScript...
1. Löschen Sie das gepunktete Feld, wenn die Scha...
1. Installieren Sie Apache # yum install -y httpd...
MySQL-Paging-Abfragen werden normalerweise über L...