mysql8从binlog恢复数据

mysqlbinlog官方文档

https://dev.mysql.com/doc/refman/8.0/en/mysqlbinlog.html

数据恢复

通过mysqlbinlog -v binlog.000001打印binlog信息,找到删库或者删表的位置

   mysqlbinlog -v binlog.000001

指定位置范围

mysqlbinlog -v binlog.000001 --start-position=152 --stop-position=3154151

指定时间范围

mysqlbinlog -v binlog.000001 --start-datetime="2020-10-24 00:00:00"  --stop-datetime="2020-10-24 00:00:00" 

上面两种都可以定位范围,查找到创建表的位置,到删除表之前,将之前的表删除。

数据恢复命令

mysqlbinlog binlog.000001 --start-position=152 --stop-position=3154151 -v | mysql -uroot -p123456

这个操作相当于将之前从创建表到误操作之前的数据全部执行一遍,恢复到之前的数据,以最近的备份数据的备份点来作为起始点,drop操作的前一个操作为结束点。

注意

1、未免新数据对已有的数据产生影响,第一时间应停止服务,避免数据库操作
2、–start-position和–stop-position代表的是at所标识的数字,通过此数字定位恢复位置binlog数据查看
3、必要时需做好备份,将数据库的表都删除,恢复到指定时间点,因为是将之前的所有操作操作一遍,难免会有主键冲突等问题
4、按理来说,就算有新数据,将表删除之后,跳过两次drop操作,即可恢复原本数据(并没有尝试)
5、数据库每一次重启都会产生一个binlog.0000的日志,找好对应的日志,即可

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值