Das REDO-Protokoll ist die Oracle-Terminologie, das Transaktionsprotokoll die InnoDB-Terminologie. Jetzt, da alle Oracle-Ingenieure sind, verwenden die Leute beide, um in MySQL auf dasselbe zu verweisen .
Das Transaktionslog ist standardmäßig - es kann geändert werden - die beiden Dateien, die sich in $ DATADIR befinden, heißen ib_logfile0
und ib_logfile1
. Es bietet die gleichen Funktionen wie das REDO-Protokoll in anderen Datenbanken - speichert Schreibvorgänge auf sichere Weise und stellt sie im Falle eines Absturzes wieder her, obwohl sich einige Details in der Implementierung in der Funktionalität von anderen RDMS unterscheiden. Es ist die Hauptkomponente für InnoDB, eine Transaktions-Engine zu sein.
Verwechseln Sie das Transaktionslog nicht mit den Binärlogs in MySQL . Das binlog befindet sich standardmäßig auf dem $ DATADIR und ist *hostname*-bin.index
und mehrere *hostname*-bin.00001
, usw. Es ist besonders verwirrend für Benutzer, die aus anderen Datenbanken stammen, da es für andere Zwecke verwendet wird, für die andere Datenbanken das REDO-Protokoll verwenden: Replikation und Zeitpunkt Wiederherstellung. Der Hauptunterschied besteht darin, dass das Transaktionslog nur InnoDB enthält, das Binärlog (meistens) transaktionsunabhängig ist, wie es für alle Speicher-Engines gilt, ob transaktionell oder nicht. MyISAM schreibt (falls aktiviert) in das Binärlog. InnoDB schreibt in das Transaktionsprotokoll und das Binärprotokoll.
Weitere Informationen zum Handbuch: REDO-Protokoll , Binärprotokoll .