RDS MySQL支持单库和单表的数据恢复,可以通过备份指定恢复误删的数据库或表,快速恢复MySQL的数据。
前提条件
- 实例为如下版本:
- MySQL 8.0 高可用版(本地SSD盘)
- MySQL 5.7 高可用版(本地SSD盘)
- MySQL 5.6 高可用版
- 实例存储引擎不为X-Engine。
- 实例内的表低于50000张才可以使用单库单表恢复功能,超过50000张表时无法使用。
- 控制台说明
- 新实例默认开启该功能,无法关闭。
- 开通单库单表恢复功能之前的数据,无法通过单库单表功能恢复,建议您按时间点恢复。
- 开通单库单表恢复功能后,备份格式会修改(从tar压缩包变成xbstream文件包),用于支持库表恢复,且开通之后无法关闭该功能。
里开启单库单表恢复功能。
- 如果是恢复到原实例,原实例需要满足如下条件:
- 运行中且没有被锁定。
- 当前没有迁移任务。
- 如果要按时间点进行恢复,需要确保日志备份已开启。
- 若要按备份集恢复,则原实例必须至少有一个备份集。
- 如果是恢复到新实例,原实例需要满足如下条件:
- 运行中且没有被锁定。
- 如果要按时间点进行恢复,需要确保日志备份已开启。
- 若要按备份集恢复,则原实例必须至少有一个备份集。
说明 如果需要进行数据库级别的数据恢复,请参见恢复MySQL数据。
注意事项
- 恢复到原实例过程中会进行主备切换,RDS服务可能会出现约30秒闪断,请确保您的应用有自动重连机制;恢复到新实例不会进行主备切换。
- 单库单表恢复功能会将备份文件从tar压缩包变成xbstream文件包,备份文件占用的存储空间会略微增大,请您关注备份使用量。超出免费备份空间额度的部分将会产生额外费用,请合理设计备份周期,以满足业务需求的同时,兼顾备份空间的合理利用。
- 单库单表恢复只会恢复指定的表,请勾选所有涉及到的表。以下几种情况会导致恢复失败:
- 从最近一份备份集生成时间点到指定恢复的时间点,这段时间内指定的表被删除,恢复会失败。
- 出现未指定的表时会恢复失败。例如指定恢复表b,但是表b是表a在指点时间点之前重命名的,由于表a没有指定,恢复会失败。
如果无法确定所有涉及的表,则需要进行实例级别的恢复,详情请参见恢复MySQL数据。
- 每次最多选择50个库或者表。
操作步骤
常见问题
- 备份文件从tar压缩包变成xbstream文件包,会导致之前的备份不可用吗?
之前的备份仍然可用。
- 之前可以使用单库单表恢复,为什么突然不能用了?
可能您实例内的表数量过多。实例内的表低于50000张才可以使用单库单表恢复功能,超过50000张表时无法使用。
相关API
API | 描述 |
---|---|
单库单表恢复 | 恢复RDS实例的某个数据库或表到原实例上。 |
克隆实例 | 恢复RDS实例的某个数据库或表到新实例上。 |
查询备份恢复范围 | 查询RDS实例备份可恢复的时间范围。 |