MySQL发生全表更新后如何快速恢复数据


MySQL发生全表更新后如何快速恢复数据

文章插图
数据恢复
上一篇文章MySQL基于binlog实现数据增量恢复实践 我们大概讲解了下当数据表发生全表更新后,如何使用冷备份数据和基于MySQL的binlog实现增量式恢复数据,这种增量恢复数据可能存在一些弊端,效率可能也是不是太高,主要存在如下缺点:
  • 基于备份的数据进行恢复,如果对数据备份不及时,可能达不到理想的效果;
  • 可能会需要停止线上业务进行数据恢复,因为对表有drop操作;
  • 如果全表更新发现不及时,恢复数据可能需要更长的时间;
  • 如果有多个binlog文件,需要对每一个binlog进行恢复;
  • 恢复数据效率不高;
通过查阅资料和阅读mysql官方文档,还有一种应该算比较高效和可靠的方式来恢复全表更新后的数据 。这种方法同样还是基于mysql的binlog和sed命令可以提取出当时执行全表更新的sql,然后对update的sql语句进行逆向操作,将更新后的数据再更新回之前的数据 。
【MySQL发生全表更新后如何快速恢复数据】下面我们就通过一个例子来研究下,这种方法如何到达快速恢复数据的目的 。同时把恢复数据的过程记录下来,方便以后遇到类似问题可以查阅参考,快速解决问题,提高工作效率 。


    推荐阅读