mysql--使用binlog 来恢复数据

一、开启binlog

mysql安装好后默认是没有开启binlog日志功能的,需要手动开启并重启mysql服务才能生效。点击链接:mysql开启binlog日志方法

二、演示数据

 

三、数据恢复

删除数据

 

3.1、查看当前日志

show master status;

   
3.2、刷新binlog日志,生成一个新的日志

 

我们先来刷新binlog日志,生成一个新的日志,那么我们之后所要操做的内容都会被记录到新的日志文件中,我们只需要对旧的日志做恢复就行了

flush logs;
 
SHOW MASTER STATUS;

 

插入数据操作

 

3.3、查看旧日志


3.3.1、方式1

SHOW BINLOG EVENTS IN 'mysql-binlog.000006';

   

 

3.4、数据恢复–从建库前恢复


目的

我们直接恢复删除前的所有数据
注意

恢复前,先刷新日志,产生新日志mysql-binlog.000008,

 


不让恢复数据的日志写到 mysql-binlog.000007,而是写到mysql-binlog.000008。
方便之后恢复mysql-binlog.000007
查看恢复的起始点和结束点

我们看到delete_rows 结束点是1694这个点,起始点是在1478这个点,我们可以把操作的这些数据删除到我们上次备份的内容,然后通过执行binlog来进行恢复,当然恢复到1478这个点之前。

 

 
执行操作

mysqlbinlog --start-position=570 --stop-position=1478 "C:\ProgramData\MySQL\MySQL Server 5.7\Data\mysql-binlog.000006" > d:\0test1.sql

 

恢复的数据


3.5、恢复删除后的操作

 

我们发现,删除数据后,我们插入的数据没显示,这个时候需要通过同样的方法,使用binlog.000007 日志来恢复

 
通过上面的日志文件,确认开始点154和结束点716


恢复数据

mysqlbinlog --start-position=154 --stop-position=716 "C:\ProgramData\MySQL\MySQL Server 5.7\Data\mysql-binlog.000007" > d:\0test1.sql

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值