11

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

谢谢。

编辑 :

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

4

1 回答 1

8

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

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

  • 创建只读副本
  • 允许尽可能多地填充副本
  • 然后应用您的 SQL 备份工具连接到该副本实例并创建备份
  • 将备份放入 S3
  • 转到新实例并将其恢复

PS - 注意事项:

  1. 由于我们使用的是只读副本,因此主实例和只读副本之间可能存在陈旧(复制 - 滞后)。在开始该过程之前,您需要考虑这一点。复制异步发生。

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

于 2014-06-25T12:24:05.093 回答