mysql我一不小心删除表里中的数据。请问如何用mybinlog恢复啊。

Navicat Premium
图片描述

图片描述

图片描述

我把binmysql-bin.000003改成sql 。 用Navicat Premium 执行sql也不行。


阅读 5.1k
2 个回答

如果你知道你删除的数据是在那一段时间里的话可以用

mysqlbinlog --start-date="开始时间" --stop-date="删除数据开始的位置" binmysql-bin.000003

或者你查看你的binlog日志,找出你删除数据的记录日志位置,然后恢复此位置之前的数据
mysqlbinlog --stop-position="删除数据开始的位置" binmysql-bin.000003。这会恢复删除位置之前所有的数据,如果你能够找到到被你删除的数据范围的话,你也可以指定开始位置

mysqlbinlog --start-position="开始位置" --stop-position="删除数据开始的位置" binmysql-bin.000003

利用mysqlbinlog将今天那个二进制日志导出成sql语句文件,在里面查找到有用的sql信息,然后再根据条件导出你想要的sql信息,这样再把sql文件中的语句导入到表中

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题