Undo-ProtokollVor Beginn einer Datenbanktransaktion werden die zu ändernden Datensätze im Undo-Protokoll gespeichert. Wenn die Transaktion zurückgesetzt wird oder die Datenbank abstürzt, können mit dem Undo-Protokoll die Auswirkungen der nicht festgeschriebenen Transaktion auf die Datenbank rückgängig gemacht werden. Erstellung und Vernichtung von Undo-Logs Das Undo-Log wird vor dem Start der Transaktion generiert. Wenn die Transaktion festgeschrieben wird, wird das Undo-Log nicht sofort gelöscht. InnoDB fügt das der Transaktion entsprechende Undo-Log in die Löschliste ein, die dann vom Hintergrund-Bereinigungsthread wiederverwendet wird. Undo-Log-SpeicherungDas Undo-Protokoll wird in Segmenten verwaltet und aufgezeichnet. Die InnoDB-Datendatei enthält ein Rollback-Segment, das 1024 Undo-Log-Segmente enthält. Die Speicherung des Undo-Protokolls kann durch den folgenden Parametersatz gesteuert werden. Variablen wie „%innodb_undo%“ anzeigen; Undo-Log-Funktion Implementieren der TransaktionsatomaritätUndo Log ist ein Produkt, das entwickelt wurde, um die Atomizität von Transaktionen zu erreichen. Wenn während der Transaktionsverarbeitung ein Fehler auftritt oder der Benutzer eine ROLLBACK-Anweisung ausführt, kann MySQL die Sicherung im Undo-Protokoll verwenden, um die Daten in den Zustand vor Beginn der Transaktion wiederherzustellen. Implementierung von Multi-Version Concurrency Control (MVCC)Undo Log wird verwendet, um die Parallelitätskontrolle mehrerer Versionen in der MySQL InnoDB-Speicher-Engine zu implementieren. Bevor eine Transaktion festgeschrieben wird, speichert das Undo-Protokoll die vorherige Version der Daten. Die Daten im Undo-Protokoll können als Snapshot der alten Version der Daten verwendet werden, um sie von anderen gleichzeitigen Transaktionen lesen zu können.
Redo-ProtokollBezieht sich auf alle Daten, die in einer Transaktion geändert wurden. Der Speicherort der letzten Datensicherung (Redo-Log) wird als Redo-Log bezeichnet. Generierung und Freigabe von Redo-Logs Während der Ausführung von Transaktionsvorgängen werden Redo-Protokolle generiert. Wenn die Transaktion festgeschrieben wird, werden die generierten Redo-Protokolle in den Protokollpuffer geschrieben, jedoch nicht sofort in die Datenträgerdatei, wenn die Transaktion festgeschrieben wird. So funktioniert Redo LogRedo Log ist ein Produkt, das zur Erreichung der Transaktionspersistenz entwickelt wurde. Um zu verhindern, dass zum Zeitpunkt eines Fehlers fehlerhafte Seiten vorhanden sind, die nicht in die IBD-Datei der Tabelle geschrieben wurden, wiederholen Sie die Daten beim Neustart des MySQL-Dienstes basierend auf dem Redo-Protokoll. Dadurch wird die Funktion zum Beibehalten der Transaktionsdaten erreicht, die nicht auf die Festplatte geschrieben wurden. Mechanismus zum Schreiben von Redo-LogsDer Inhalt der Redo-Log-Datei wird in einer sequentiellen Schleife in die Datei geschrieben. Wenn diese voll ist, wird zur ersten Datei zurückgekehrt und diese überschrieben. write pos ist die Position des aktuellen Datensatzes. Beim Schreiben bewegt es sich rückwärts. Nach dem Schreiben bis zum Ende der letzten Datei kehrt es zum Anfang der Datei 0 zurück. Redo Log-bezogene KonfigurationsparameterJede InnoDB-Speicher-Engine verfügt über mindestens eine Redo-Log-Dateigruppe und jede Dateigruppe verfügt über mindestens zwei Redo-Log-Dateien. Die Standarddateien sind ib_logfile0 und ib_logfile1. Sie können die Redo-Log-Speicherung über die folgenden Parameter steuern Variablen wie „%innodb_log%“ anzeigen; Die Strategie zum Speichern des Redo-Puffers im Redo-Log kann über Innodb_flush_log_at_trx_commit festgelegt werden.
Es wird im Allgemeinen empfohlen, den Wert 2 auszuwählen, da bei einem MySQL-Absturz keine Daten verloren gehen und nur bei einem Absturz des gesamten Servers 1 Sekunde an Transaktionsdaten verloren geht. Oben finden Sie eine detaillierte Zusammenfassung des MySQL Undo Log und Redo Log. Weitere Informationen zum MySQL Undo Log und Redo Log finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM! Das könnte Sie auch interessieren:
|
<<: DOCTYPE Dokumenttypdeklaration (unbedingt lesenswert für Webseiten-Liebhaber)
>>: Docker verwendet Root, um in den Container zu gelangen
Vorwort Ich arbeite derzeit an einem hochwertigen...
In diesem Artikel finden Sie das MySQL-Installati...
Inhaltsverzeichnis 1. Einleitung 2. Einführung in...
Inhaltsverzeichnis 1. Reagieren.Children.map 2. R...
Inhaltsverzeichnis 1. Funktionseinführung 2. Schl...
Hintergrund: Ich möchte einen SAP ECC Server inst...
Analysieren Sie den Ausführungsprozess. Bewegen S...
Inhaltsverzeichnis Vorwort Installation und Verwe...
Inhaltsverzeichnis Vorwort Verwenden Sie keine Ze...
<br />Das Lesen ist ein sehr wichtiger Teil ...
Hintergrund In der Gruppe werden einige Studieren...
CSS3 implementiert 2D-Ebenentransformation und vi...
Problembeschreibung Der Schaltflächenstil ist Sym...
Vorwort Das Tag <router-link> ist ein großa...
Es gibt viele Skripte im Internet, die expect ver...