从 Amazon RDS 下载 MySql 备份/快照

Posted

技术标签:

【中文标题】从 Amazon RDS 下载 MySql 备份/快照【英文标题】:Download MySql Backup/Snapshot from Amazon RDS 【发布时间】:2014-08-15 14:34:47 【问题描述】:

我在我的生产实例上的 Amazon RDS 上托管了我的 mysql 数据库。我有另一个用于开发目的的 RDS 实例。现在我正在寻找将数据库备份/快照从生产实例恢复到开发实例的最佳/最快方法,因为我的数据库非常庞大,备份下载过程非常耗时,而且它阻塞了我的所有表以进行读/写事务.或者有没有不阻塞插入/更新/选择事务的下载备份选项?

谢谢。

编辑:

我犯了一个错误,在上面的问题中,我的意思是说 account 不是 Instance。我有两个不同的帐户,一个用于生产,另一个用于开发/测试。我想将快照从生产帐户的实例恢复到开发帐户的实例,并且两个实例都位于同一区域(例如新加坡)。

【问题讨论】:

相关:***.com/questions/18192609/… 【参考方案1】:

鉴于您已澄清您需要进行备份并将其放回不同 AWS 账户中的不同 RDS 实例;唯一的方法是获取 sql-dump 或数据库备份并重新恢复它;因为您无法在帐户之间拍摄和共享快照。

解决 I/O 阻塞和事务瓶颈的一种方法是利用 Read-Replica。这样,整个备份过程将在只读副本中完成,您的主实例不会受到影响。

创建只读副本 尽可能多地填充副本 然后应用您的 SQL 备份工具连接到该副本实例并创建备份 将备份放在 S3 中 转到新实例并将其还原

PS - 注意事项:

    当我们使用只读副本时,主实例和只读副本之间可能存在陈旧(复制 - 滞后)。在开始该过程之前,您需要考虑这一点。复制是异步进行的。

    您应该尝试从 EC2 实例执行备份操作,以利用延迟、网络带宽管道。

【讨论】:

感谢@Naveen,如果我从只读副本中进行备份,那么在您在第一点中提到的重型写入密集型数据库上复制的可能性很大。如何备份(我的意思是说 sqldump,我还不知道其他选项!)具有数据完整性?

以上是关于从 Amazon RDS 下载 MySql 备份/快照的主要内容,如果未能解决你的问题,请参考以下文章

使用Python从rds上下载mysql备份文件

是否可以从 Amazon Aurora 迁移回 Amazon RDS 中的原生 MySQL?

RDS for MySQL 物理备份文件恢复到自建数据库

阿里云RDS同步到本地自建mysql数据库从库

如何将数据从 Postgres 移动到在 Amazon 的 RDS 上运行的 MySQL?

将数据从 RDS MySQL 同步到 Amazon Redshift