mysql表误删回复_恢复MySQL数据到误删的表之前的数据

一、演示环境说明:

系统CentOS Linux release 7.2.1511 (Core) X_86 64位最小化安装

mysql版本是官方二进制版本5.7.22-22,mysql采用的是二进制安装,单机上开启2个mysql实例,mysql实例要开启定时器event_scheduler=ON. 而且2个mysql实例都要开启Gtid

xtrabackup 采用的是rpm包安装,版本是version 2.4.13

MySQL备份方式采用每天一次全量备份和binlog增量备份

二、模拟删除库,进行数据恢复演示:

提示:当然此处只是演示,严禁生成环境删库,删表模拟,后果你懂得

故障模拟:

线上误删除一个testdb库下的test1_event表,利用当天的mysql的全量备份+当天生成的mysql的binlog文件来恢复数据到误删的表test1_event之前的数据

恢复方式介绍:

官方推荐采用利用mysql binlog方式恢复,生产实践验证官方的这个方式已经是不严谨的做法了(下面的方法是官方推荐的)

故障恢复过程如下:

2.1接收到误删除之前,第一时间确认大概误操作时间

2.2 登录主库查看当前的binlog位置点(要记住此时的binlog文件,后面恢复时会用到)

(root@'mgr01':mysql3306.sock)[testdb]>show master status\G

*************************** 1. row ***************************

File: mysql-bin.000005

Position: 15211

Binlog_Do_DB:

Binlog_Ignore_DB:

Executed_Gtid_Set: bde7b592-b966-11e9-8c64-000c294f3e61:1-10445

1 row in set (0.00 sec)

2.3最好是flush logs下,让接下来的sql写入到新的binlog文件

2.4定位drop 表语句所在binglog文件的位置点:

[root@mgr01 binlog]# mysqlbinlog -v --base64-output=decode-rows /data/mysql/mysql3306/binlog/mysql-bin.000005|grep -i -C 15 drop

### @1=10422

### @2='tomcat'

### @3='xiaohuahua'

### @4='2019-08-08 14:22:18'

# at 14987<

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值