影响数据库高可用的很大因素是人为失误,对数据误操作,比如在使用过程中Delete手误没有写Where条件,导致表的所有数据被误删除,常规的方法是另外找一台机器,然后拉取下今天的备份,然后还原,必要的时候还需要解析下binlog日志, 然后再把需要恢复的数据导入到误操作的数据库服务器上,这大大影响业务的连续性。
如果是使用云数据库Cloud DB for MySQL,在用控制台只需鼠标点击操作,后台帮你自动回档到任意时间点,目前默认支持五天内任意时间点回档(根据 binlog日志 保存可支持5日内无损恢复)。

回档原理:如图所示,主要是通过最近一次冷备+对应的binlog日志,回档到指定时间点,且可以保证所有数据的时间切片一致,而原有数据库或表的访问不受影响,回档操作会产生新的数据库或表在原有的实例中。回档完后,用户可以看到原来的数据库或表,以及新建的数据库或表。
数据库回档--Prevent DB misoperation_第1张图片

回档的流程:(1)冷备系统每天会从MySQL备机导出数据到冷备系统;(2)回档时,首先从回档系统申请一台回档实例,然后从冷备系统导出冷备数据导入临时的回档实例;(3)回档实例和MySQL主实例建立主从关系,并设置需要回档的时间和数据库表;(4)将回档后的数据库表拷贝到MySQL主实例。