千家信息网

mysql在使用 row 格式 binlog时如何撤销操作

发表于:2024-10-20 作者:千家信息网编辑
千家信息网最后更新 2024年10月20日,本文主要给大家介绍mysql在使用 row 格式 binlog时如何撤销操作,其所涉及的东西,从理论知识来获悉,有很多书籍、文献可供大家参考,从现实意义角度出发,累计多年的实践经验可分享给大家。MyS
千家信息网最后更新 2024年10月20日mysql在使用 row 格式 binlog时如何撤销操作

本文主要给大家介绍mysql在使用 row 格式 binlog时如何撤销操作,其所涉及的东西,从理论知识来获悉,有很多书籍、文献可供大家参考,从现实意义角度出发,累计多年的实践经验可分享给大家。

MySQL 在使用 row 格式,并使用默认的 binlog_row_image=full 的时候,binlog 中记录了完整的更新前后的数据镜像。因此,根据 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 到末尾的所有事务,倒转其中所有事务顺序和每个事务中的语句顺序,并反向所有的操作,把 WRITE 和 DELETE 反转,把 UPDATE 的前后镜像互换,然后将生成后的 binlog 文件写入 binlog.out 中。之后就可以用 mysqlbinlog 工具来回放这个 binlog 来撤销操作了。

这个工具可以用于在主备切换后,撤销掉原主上未同步到备的操作,避免完全重建;也可以作为误操作的后悔药。

相关推荐:

MySQL创建用户与授权及撤销用户权限方法

详细介绍mysql5.7创建用户授权删除用户撤销授权的示例代码

Oracle PL/SQL之对象权限与系统权限的撤销差异

以上就是详解mysql使用 row 格式 binlog 撤销操作的详细内容,更多请关注其它相关文章!

0