更新时间:2024-04-11 GMT+08:00

将库表数据恢复到指定时间点

操作场景

为了保证数据的完整性,以及降低对原实例的性能影响,会进行表级时间点恢复。表级恢复是为选择的某个表恢复到指定时间点。在进行表级时间点恢复备份时,会从OBS备份空间中选择一个该时间点最近的全量备份下载至临时实例上进行全量恢复,然后在临时实例上重放Binlog到指定时间点,完成之后将对应表的数据回写到原实例的目标表,恢复时长和实例的数据量有关,平均恢复速率为20MB/s。

由于需要对实例的所有数据进行备份及恢复操作,对于数据量较大的实例,所需时间较长,请耐心等待。通过表级时间点恢复备份,将不会导致实例数据被覆盖,您可以根据需要恢复库表。

使用限制

  • 该功能目前仅支持MySQL引擎。
  • RDS for MySQL表级时间点恢复不支持恢复带外键的表。
  • 实例的表数量低于20000张,才能执行恢复库表操作。当需要恢复的表数量超过20000张时,建议您使用恢复到指定时间点功能进行恢复,具体请参考将数据库实例恢复到指定时间点
  • RDS for MySQL表级时间点恢复期间不允许主备实例和只读实例做规格变更,重启,删除等操作。
  • 进行表级时间点恢复时,要恢复的库、表信息是在所选时间点前最新一次全量备份中读取的。由于所选时间点可以是恢复时间区间内的任意时间点,所以表级时间点恢复支持恢复到存在指定库、表信息的最早的一次全量备份时间点。

前提条件

由于该操作会在源实例上新生成恢复后的库表,请确保您的源实例磁盘空间充足。

操作步骤

  1. 登录管理控制台。
  2. 单击管理控制台左上角的,选择区域和项目。
  3. 选择数据库 > 关系型数据库。进入关系型数据库信息页面。
  4. “实例管理”页面,选择目标实例,单击实例名称,进入实例的“基本信息”页签。
  5. 对于MySQL引擎,在左侧导航栏,单击“备份恢复”,在“全量备份”子页签下,单击“更多”,在下拉框中单击“表级时间点恢复”。或者在“Binlog备份”子页签下,单击“表级时间点恢复”
  6. 填选恢复日期、可恢复的时间区间、要恢复到的时间点和选择恢复库表,单击“下一步:确认恢复信息”

    • 为了方便您操作,所需恢复的数据库和表名支持搜索。
    • 系统会自动生成以时间戳为后缀的库表名,如果需要,您也可以自定义恢复后的库表名。
    • 表名不能重复且满足:名称长度在1~64个字符之间,只能包含字母、数字、下划线、中划线或$,不能包含其他特殊字符并且不能与同库下的数据库名重名。
    • 表级时间点恢复功能暂不支持库名带“.”字符的数据库恢复。

  7. “表级时间点恢复信息确认”页面,信息确认无误后,单击“立即恢复”
  8. “实例管理”页面,可查看该实例状态为“恢复中”,恢复过程中该实例业务不中断。

    同时,您可在“任务中心”页面,查看“表级时间点恢复”任务的执行进度及结果。

    恢复成功后,您可根据实际情况对表进行数据处理。