使用mysqlbinlog工具通过日志文件恢复数据

通过二进制日志文件恢复数据:

1.       新建表test.aaa,

向表中插入两条数据:结果显示如下:

 

2.       查看当前mysql数据库的二进制日志文件:

最新的文件名为“binlog.000016”,最近的操作(向aaa表的插入动作)记录在此日志文件中;

可以确认一下“向表aaa插入数据”动作内容是否记录在此文件中:


3.       用mysqlbinlog显示记录的二进制文件,直接看这个文件将是乱码。

         将内容导入到文本文件,方便查看内容,为了后面的恢复。


4.       查看文本文件的内容:

发现“插入操作”在当前日志文件。数据记录结束位子:346;


5.       模拟数据误删除:清空表test.aaa;

Select * from aaa; 查看表数据情况:

查看结果:表已经清空。


6.       使用mysqlbinlog工具恢复数据,到指定结束位置:

相关参数还有--start-position,记录开始的点。

同时也可以通过操作的时间点来恢复,相关参数有--statr-datetime 和--stop-datetime。


7.       恢复操作完成之后,再次连接数据库,

查看表数据:

结果如图,数据已经恢复到指定位置。


Ø  如果只是想忽略掉整个过程中某一个操作,恢复时忽略掉对应哪个语句即可,

做法如图,

你可以选择使用参数--start-position和--stop-position恢复两次 :


一定要确认好要恢复的位置。

Ø  mysql_log# mysqlbinloglogbin_ouyang.000009 --stop-position=10625|mysql –u root -p root;

Ø  mysql_log# mysqlbinloglogbin_ouyang.000009 --start-position=10843|mysql -u root –p root;

如果发生 Couldnot read entry at offset 1478: Error in log format or read error. 类似的错误! 请检查你的编号是否正确!

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值