随着业务变化与时间的推移,数据库中数据也呈不断地增长趋势。阿里云数据库RDS提供了非常稳定的数据备份机制。数据虽备份了,但在实际操作过程中,有可能出现由于误操作等原因导致数据丢失的情况。通过 RDS 提供的创建恢复到时间点的临时实例的方法,可以比较容易的找回数据。
在使用云数据库RDS实例过程中,出现数据丢失后,除非能确认备份集中的数据能满足业务要求,否则不要进行直接使用备份集的覆盖性恢复操作。直接使用备份集覆盖性恢复实例后,通常会无法再从控制台创建到误操作时间点的临时实例,因此推荐通过创建到时间点的临时实例 的方式来进行恢复。
云数据库RDS数据恢复有两种操作方案,分别如下:
方案一: 时间点的数据可以满足业务要求,直接使用该时间点的数据覆盖目标库(或者目标表)
第一步 创建到临时实例
第二步选择从时间节点创建临时实例,指定时间点
注:创建临时实例有2个条件:1.在该时间点前有全量备份;2.在选择的时间点相邻的两个备份集之间的时间段内没有进行过恢复实例(覆盖性恢复)操作。
选择日期时间后,点击创建临时实例。刷新下当前页面:
右上角可以查看创建任务进度:
注:创建临时实例通常需要应用从备份开始时间点后的增量数据,因此如果指定的时间点和备份时间点间的增量数据比较多,或者实例数据量很大的情况下,临时实例创建会比较花时间,请耐心等待下。
第三步 任务完成后,刷新下页面:
如果时间点的数据可以满足业务要求(在这个时间点后的正常增量数据可以丢弃),则可以直接通过点击“迁移临时实例至主实例数据库”按钮来通过 DTS 工具将 jacky 库(或者 alarm 表)从临时实例迁移到主实例(可以忽略 Step4 以及之后的步骤)。
方案二:要求保留误操作时间点后目标库(或者目标表)内正常的记录变化,并且恢复被误删除的记录
前三步 与方案一前三步相同
第四步 找回被误删除的数据并保留合理的新增数据
选择登陆数据库,通过 DMS 登陆临时实例
第五步 通过 SQL 窗口找回被误删除的数据。
将导出的 SQL 通过 DMS 或其他工具导入到主实例中,即完成数据恢复。
参考