Kombinieren Sie zwei MySQL-Replikationsprotokolldateien

Kombinieren Sie zwei MySQL-Replikationsprotokolldateien

Daher verwende ich eine Master-Master-Replikation einer MySQL-Datenbank und führe einen Lastenausgleich des Datenverkehrs zwischen beiden durch.

Dies führt dazu, dass Server A ein Binärprotokoll aller seiner Transaktionen hat und Server B ein Binärprotokoll nur seiner Transaktionen. Jeder Server hat außerdem ein Replikationsprotokoll des Binärprotokolls des anderen Servers.

Das Problem ist, dass wir im Falle eines Desasters (z. B. einer fehlerhaften SQL-Anweisung, die zu viel löscht) und das Backup von letzter Nacht wiederherstellen müssen, die Datenbank mithilfe eines Binärprotokolls bis zum Punkt der fehlerhaften SQL-Anweisung wiederherstellen möchten. Wir haben jedoch zwei Binärprotokolle, die jeweils alle ausgeführten Anweisungen enthalten.

Wie kann ich die beiden Dateien zu einer zusammenführen und gleichzeitig sicherstellen, dass die Einträge in beiden Dateien in chronologischer Reihenfolge bleiben?

Nachdem ich mysqlbinlog für jede Datei ausgeführt habe, kann ich eine lesbare SQL-Datei erhalten. Jede Datei enthält Zeitstempel, aber ich muss einen Weg finden, jede Datei einzulesen und beide durchzugehen, um zu entscheiden, wann die nächste Anweisung in die kombinierte Datei eingefügt wird. Irgendwelche Vorschläge, wie das geht?

verwandte Informationen