Jquery中文网 www.jquerycn.cn
Jquery中文网 >  数据库  >  mysql  >  正文 mysql使用 row 格式 binlog 撤销操作

mysql使用 row 格式 binlog 撤销操作

发布时间:2017-12-13   编辑:www.jquerycn.cn
jquery中文网为您提供mysql使用 row 格式 binlog 撤销操作等资源,欢迎您收藏本站,我们将为您提供最新的mysql使用 row 格式 binlog 撤销操作资源
本文章来为各位介绍一篇关于mysql使用 row 格式 binlog 撤销操作的例子,希望对各位有帮助。

MySQL 在使用 row 格式,并使用默认的 binlog_row_image=full 的时候,binlog 中记录了完整的更新前后的数据镜像。因此,根据 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使用 row 格式 binlog 撤销操作
mysql设置自动清理binlog日志的方法
自动清理binlog日志与手动删除binlog日志的方法
mysql 主从同步一例
有关mysql的一些小技巧
mysql删除binlog日志及使用日志恢复数据的方法
MySQL中二进制日志binlog中的事件类型
教你删除MYSQl的BIN-LOG日志
MySQL/MariaDB的binlog二进制日志模式及删除方法
各版本MySQL并行复制的实现及优缺点

[关闭]