关于RDS实例中单数据库的快照创建与恢复的技术问询
RDS单实例多数据库的快照与恢复问题解答
1. 是否可以仅对单个数据库创建快照,而非整个RDS实例?
不行。AWS RDS提供的**自动备份(Automated Backups)和手动数据库快照(Database Snapshots)**都是实例级别的操作——无论实例内包含多少个数据库,生成的快照都会覆盖整个实例的所有数据、配置、存储卷等全部内容,不支持单独针对某个数据库创建快照。
2. 如何仅恢复单个数据库?
由于没有单库快照,只能通过「全实例快照恢复+单库导出导入」的方式实现单个数据库的恢复,具体步骤如下:
- 利用现有实例快照创建一个临时RDS实例,注意临时实例的数据库引擎版本、参数组配置需与原实例保持一致,避免兼容性问题
- 连接到临时实例,使用数据库原生的导出工具提取目标数据库:
- MySQL:执行
mysqldump -u [用户名] -p [目标数据库名] > backup.sql - PostgreSQL:执行
pg_dump -U [用户名] -d [目标数据库名] -f backup.sql
- MySQL:执行
- 连接到原实例或目标实例,使用原生导入工具将备份文件导入:
- MySQL:执行
mysql -u [用户名] -p [目标数据库名] < backup.sql - PostgreSQL:执行
psql -U [用户名] -d [目标数据库名] -f backup.sql
- MySQL:执行
- 验证数据恢复无误后,删除临时RDS实例,避免产生额外费用
补充建议
如果需要长期实现单库级别的备份,建议直接使用数据库原生备份工具定期执行单库备份,或者借助RDS只读副本进行备份操作,减少对主实例的性能影响。
内容的提问来源于stack exchange,提问作者Aditya Mishra
相关产品推荐
相关产品推荐

