詳解mysql使用 row 格式 binlog 撤銷操作

mysql 在使用 row 格式,并使用默認的 binlog_row_image=full 的時候,binlog 中記錄了完整的更新前后的數(shù)據(jù)鏡像。因此,根據(jù) row 格式 binlog 進行撤銷操作是可行的。本文主要介紹mysql使用 row 格式 binlog 撤銷操作的例子,希望對各位有幫助能幫助到大家。

[github 頁面] [linux 二進制文件]

例如

./binlog_undo -f /data/mysql/log-bin.000004 -p 3958 -o binlog.out
?會掃描 /data/mysql/log-bin.000004 從位置 3958 到末尾的所有事務(wù),倒轉(zhuǎn)其中所有事務(wù)順序和每個事務(wù)中的語句順序,并反向所有的操作,把 WRITE 和 DELETE 反轉(zhuǎn),把 UPDATE 的前后鏡像互換,然后將生成后的 binlog 文件寫入 binlog.out 中。之后就可以用 mysqlbinlog 工具來回放這個 binlog 來撤銷操作了。

這個工具可以用于在主備切換后,撤銷掉原主上未同步到備的操作,避免完全重建;也可以作為誤操作的后悔藥。

相關(guān)推薦:

MySQL創(chuàng)建用戶與授權(quán)及撤銷用戶權(quán)限方法

MySQL創(chuàng)建用戶與授權(quán)及撤銷用戶權(quán)限方法

MySQL創(chuàng)建用戶與授權(quán)及撤銷用戶權(quán)限方法

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點贊5 分享