Wenn MySQL das Zeilenformat verwendet und den Standard binlog_row_image=full verwendet, wird das vollständige Datenbild vor und nach der Aktualisierung im Binlog aufgezeichnet. Daher ist es möglich, Rückgängig-Vorgänge basierend auf dem Binlog-Zeilenformat durchzuführen. In diesem Artikel wird hauptsächlich das Beispiel der Rückgängigmachung des Binlog-Zeilenformats in MySQL vorgestellt. Ich hoffe, dass es für alle hilfreich ist.
[GitHub-Seite] [Linux-Binärdateien]
Zum Beispiel
./binlog_undo -f /data/mysql/log-bin.000004 -p 3958 - o binlog.out
scannt alle Transaktionen von Position 3958 bis zum Ende von /data/mysql/log-bin.000004, kehrt die Reihenfolge aller Transaktionen und die Reihenfolge der Anweisungen in jeder Transaktion um und kehrt alle WRITE-Vorgänge um und DELETE werden umgekehrt, die Vorher- und Nachherbilder von UPDATE werden vertauscht und dann wird die generierte Binlog-Datei in binlog.out geschrieben. Sie können dann das Tool mysqlbinlog verwenden, um das Binlog abzuspielen und den Vorgang rückgängig zu machen.
Mit diesem Tool können Vorgänge auf dem ursprünglichen Master rückgängig gemacht werden, die nach dem Master/Slave-Umschalten nicht mit dem Backup synchronisiert sind, um eine vollständige Rekonstruktion zu vermeiden. Es kann auch als Reuemittel für Fehlbedienungen verwendet werden.
Verwandte Empfehlungen:
MySQL-Methoden zum Erstellen von Benutzern, Autorisieren und Widerrufen von Benutzerberechtigungen
Unterschiede beim Widerruf von Objektberechtigungen und Systemberechtigungen in Oracle PL/SQL
Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung der Rückgängigmachungsoperation für das Binlog-Zeilenformat in MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!