Mysql数据恢复

Mysql的,数据恢复,主要为了应对在线上mysql执行update/delete错误的操作无法撤回情况,主从同步的数据库也没办法的,在主库上的操作会很快同步到从库,从库的备份可能来不及,所以要有另一种撤回策略。

错误的情况基本是update和delete情况

错误的表:实时数据变更多与少的情况

一. 实时数据变更比较少的表

举例:反馈表,这个可能写很少,变更更少,不小心操作失误,

  1. 从上一次备份都可以恢复表数据,再次进行正确的update操作。

  2. 数据没有丢失可以通过sql语句进行类似回滚,修正数据的操作,推荐使用sql操作进行撤回,记得提前备份这个表。

二. 实时数据变更很大的表

参考链接:http://imysql.com/2017/02/26/...

根据ORCALE的flashback功能,国内一些Mysql专家实现了mysql的flashback

mysqlbinlog_flashback 更便重于阿里云 RDS环境的使用。

Github: https://github.com/58daojia-d...

binlog2sql 便重于通常MySQL的处理。从代码上来看,该项目更简洁一点。

Github: https://github.com/danfengcao...

其中在自己的服务器上测试了binlog2sql,只是简单的update操作失误之后的数据恢复测试,可以实现

binlog2sql常见错误是:

修改配置之后,重启mysql 服务

配置中的binlog_row_image=full这个是mysql5.6+的版本提供的特性,低版本的无法使用这个

推荐数据变更数据是:在测试服务器上进行sql操作,成功再交由DBA进行正式数据库的操作,一些很关键的表,先备份在操作。

摘自我的博客:http://river0314.lofter.com/p...

相关推荐