库表数据恢复:恢复到指定时间点(PITR)
操作场景
为了保证数据的完整性,以及降低对原实例的性能影响,会进行库表级时间点恢复。库表级恢复是为选择的某个库表恢复到指定时间点。在进行库表级时间点恢复备份时,会从OBS备份空间中选择一个该时间点最近的全量备份下载至临时实例上进行全量恢复,然后在临时实例上重放Binlog到指定时间点,完成之后将对应表的数据回写到原实例的目标表,恢复时长和实例的数据量有关,平均恢复速率为35MB/s。
由于需要对实例的所有数据进行备份及恢复操作,对于数据量较大的实例,所需时间较长,请耐心等待。通过库表级时间点恢复备份,将不会导致实例数据被覆盖,您可以根据需要恢复库表。
RDS for MySQL支持恢复单个实例的库表数据,以及批量恢复多个实例的库表数据。
前提条件
由于该操作会在源实例上新生成恢复后的库表,请确保您的源实例磁盘空间充足。
约束限制
| 类别 | 约束限制 |
|---|---|
| 允许恢复的库表个数限制 |
|
| 不支持库表恢复的场景 |
|
| 极速恢复的限制 |
|
| 库表恢复中的限制 |
|
| 批量库表恢复的限制 |
|
恢复库表到指定时间点
- 登录RDS管理控制台。
- 单击管理控制台左上角的
,选择区域。 - 在“实例管理”页面,选择目标实例,单击实例名称,进入实例的“概览”页签。
- 在左侧导航栏,选择“备份恢复”。
- 在页面右上方,选择“恢复到指定时间点 > 库表级恢复”。
- 跳转到库表恢复页面,填选恢复信息,单击“下一步:确认恢复信息”。
- 为了方便您操作,所需恢复的数据库和表名支持搜索。
- 系统会自动生成以时间戳为后缀的库表名,如果需要,您也可以自定义恢复后的库表名。
- 表名不能重复且满足:名称长度在1~64个字符之间,只能包含字母、数字、下划线、中划线或$,不能包含其他特殊字符并且不能与同库下的表名重名。
图1 库表时间点恢复
- 信息确认无误后,单击“立即恢复”。
- 在“实例管理”页面,可查看该实例状态为“恢复中”,恢复过程中该实例业务不中断。
- 恢复时长和实例的整体数据量有关,平均速度约为35MB/s。
- 通过库表时间点恢复备份,不会影响新增数据。恢复出来是一个带有时间戳后缀的临时库表,用户可以根据实际情况对这个临时库表的数据进行处理。
- 您可在“任务中心”页面,查看库表时间点恢复任务的执行进度及结果。
- 登录RDS管理控制台。
- 单击管理控制台左上角的
,选择区域。 - 在“实例管理”页面,勾选多个实例,在实例列表上方,选择“更多 > 库表时间点恢复”。
- 跳转到库表恢复页面,填选恢复信息,单击“下一步:确认恢复信息”。
- 为了方便您操作,所需恢复的实例名称、数据库名称和表名支持搜索。
- 系统会自动生成以时间戳为后缀的库表名,如果需要,您也可以自定义恢复后的库表名。
- 表名不能重复且满足:名称长度在1~64个字符之间,只能包含字母、数字、下划线、中划线或$,不能包含其他特殊字符并且不能与同库下的表名重名。
图2 批量库表时间点恢复
- 信息确认无误后,单击“立即恢复”。
- 在“实例管理”页面,可查看实例状态为“恢复中”,恢复过程中实例业务不中断。
- 恢复时长和实例的整体数据量有关,平均速度约为35MB/s。
- 通过库表时间点恢复备份,不会影响新增数据。恢复出来是一个带有时间戳后缀的临时库表,用户可以根据实际情况对这个临时库表的数据进行处理。
- 您可在“任务中心”页面,查看库表时间点恢复任务的执行进度及结果。
后续操作
恢复成功后可以登录数据库实例进行验证。