详解如何通过Mysql的二进制日志恢复数据库数据

mysql5.7 根据二进制文件mysqlbinlog恢复数据库 Linux

 

1、开始mysqlbinlog日志功能

先找打my.cnf文件的位置:

 

2、编辑my.cnf文件,添加如下内容,然后按ecs, wq保存退出

 

3、这样的话mysqlbinlog功能就打开了。再根据mysql日志恢复数据库

 

4、查看日志文件,我的日志文件在数据库文件的data目录:

5、通过mysqlbinlog来查看日志文件里面的内容:

a.先找到mysqlbinlog的目录  (默认在/var/lib/mysql/)

         show global variables like "%datadir%"

 或

b.在该目录下查看日志文件:

 

日志文件:

这样的日志文件除了创建表和删除表的sql外,操作数据库的语句都加密了,要想看到具体的sql,用如下命令:

mysqlbinlog  --base64-output=decode-rows -v   mysql-bin.000017

 

日志文件:

 

6、根据时间点恢复数据库:

目前我的zz数据库中的in表中的记录已经删除了,现在根据位置来恢复数据库:

 

查看最新的日志,18

插入表的地方:

最后一条记录commit的地方:

 

根据这两个地方执行恢复:

mysqlbinlog      mysql-bin.000018  --start-position=3266   --stop-position=3711   | mysql -uroot

恢复从建表 3266   到插入最后一条数据 3711   间的数据

 

查看数据库:恢复成功:

 

根据时间点恢复:

 

转自:https://blog.csdn.net/qq_15058425/article/details/61196085

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值