mysql 回滚_Mysql数据误删除快速回滚

作者 | Video++极链科技OPSTeam

整理 | 包包

在数据库操作中,难免会因为各种各样的原因对数据造成损坏,这个时候就需要对数据库快速恢复。传统的方法会先恢复mysql备份,再去用mysqlbinlog抽取指定时间点的日志,再恢复,这样的操作比较耗时,容易出错,那有没有一种工具可以快速把误删除的操作SQL逆过来,然后重新插入误删除的数据呢?

binlog2sql,就是一个很好的应用,它可以从MySQL binlog解析出SQL,根据不同选项,你可以得到原始SQL、回滚SQL、去除主键的INSERT SQL等。

演示环境说明:

数据库:Mysql5.6操作系统:Centos7为例演示场景:2018年10月31日10:56,删除整个表的数据,演示快速回滚被删除的数据操作步骤

1、回滚之前先确认一下Mysql Server配置参数

6238bde8ee86cf182d909e36c1f8bd35.png

2、如果你没有mysql命令,那么需要安装对应版本的Mysql客户端,Centos7对应的mysql客户端包是mariadb,Centos6客户端包是mysql

4e6df0f42b96be8c99defa7844353878.png

3、安装binlog2sql回滚工具

ed6e4f3bd7f73c989e900f38a316d664.png

4、授权用于回滚的Mysql用户

37016cf0272be8422f1be752b4fd6411.png

5、开始实验:模拟误删除

7b0007bfb02f4710d7437c9f80029a4a.png

6、查看误删除时间点写入的binlog文件

964484432d779b6b7e2e6d7bb6a0b890.png

7、查看误删除时间点的操作SQL

78331b68bdea9e61bc4577efcb053eca.png

8、生成回滚SQL

fa78396e8e9d1e9b39d2e6fcc5a61c5b.png

9、登录mysql,对数据进行回滚

6e495276fe6801bba035eea24a68b513.png

可以看到被删除的两条数据已经恢复。

工具参数说明:

8c097f55e6566fe7c7f3c432d353025f.png

当然数据库恢复是修复操作,是对已经发生问题的进行的补救措施。咱们实际业务中还是应该应该重视流程和测试,避免数据库误操作。数据库毕竟关系到用户的核心利益。


版权声明:本文为weixin_31792645原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。