如果您误释放了RDS MySQL实例、误删除或修改了实例的数据、或有将备份文件恢复到云上或本地的需求等,可参考本文选择合适的MySQL数据恢复方案。
场景一:恢复误释放的实例
场景二:恢复误删除或修改的数据
方案 | 支持实例 | 恢复时间点 | 恢复范围 | 恢复位置 | 恢复速度 | ||||||
本地盘 | 云盘 | 任意时间点 | 备份集所在时间点 | 所有库表 | 部分库表 | 恢复至新RDS | 恢复至原RDS | 恢复至其他已有RDS | |||
✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ❌ | ✔️ | ❌ | ❌ | 慢 | ||
✔️ | ❌ | ✔️ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ | 快 | ||
常规 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ❌ | 慢 | |
极速 | ✔️ | ❌ | ✔️ | ✔️ | ✔️ | ✔️ | ❌ | ✔️ | ❌ | 快 |
关于恢复至新RDS:如临时使用,您可以选择恢复至按量付费的新实例,把数据迁移到原实例,然后释放新实例以节省费用。
关于恢复至原RDS:恢复后不会覆盖原实例的数据。
也可以使用DMS的数据追踪功能,通过执行回滚SQL实现数据回滚。
场景三:查询某时间点的数据
快:RDS MySQL应急恢复,然后进行查看。
场景四:通过备份文件恢复到云上或本地
迁移/恢复到云上
迁移最新数据
迁移历史数据
自建数据库的备份文件:MySQL 5.7、8.0自建数据库备份恢复上云
也可以先把备份在本地恢复,再从本地迁移到RDS。
也可以用DBS进行逻辑备份,然后恢复到云上RDS。具体参见恢复MySQL逻辑备份。
RDS备份文件恢复至其他阿里云账号下的RDS中
先将备份文件恢复至自建数据库中,再通过DTS将自建MySQL迁移至RDS MySQL中。
先将备份文件恢复至自建数据库中,再使用mysqldump迁移MySQL数据至其他账号的RDS中。
迁移/恢复到本地
迁移最新数据
迁移历史数据
如果有DBS逻辑备份,可以直接恢复到本地,具体参见恢复MySQL逻辑备份。
如果是从RDS控制台下载的备份,请参见RDS MySQL物理备份文件恢复到自建数据库或RDS MySQL逻辑备份文件恢复到自建数据库。
RDS实例间迁移
迁移最新数据:
迁移历史数据:
如果有DBS逻辑备份,可以直接恢复至目标实例,具体请参见恢复MySQL逻辑备份。
更多场景
如果您需要将数据备份到其他地域,或有跨地域恢复数据到目的地域的新实例或已有实例的需求,请参见跨地域备份和跨地域恢复数据。
您也可以通过
mysqldump
命令,将指定数据库的数据导出为SQL文件进行备份,并通过mysql
命令将SQL文件中的数据导入到目标数据库进行恢复。具体详情,请参见通过mysqldump进行库备份及恢复。