克隆 AWS RDS 数据库的最有效方法?

RTF*_*RTF 9 mysql amazon-web-services amazon-rds

我在名为 X 和 Y 的服务器上运行了 2 个 MySQL 数据库,它们都具有相同的内容。一整天都在运行一系列更新,这会更改 X 的内容。在一天结束时,会运行一个过程,将 X 的内容与 Y 的内容(对于各种表)进行比较,以发现新行,更新行数据等。一旦更新被处理,mysqldump用于转储 X,然后用转储覆盖 Y。X 和 Y 现在再次相同,并且整个过程重复。

我正在研究将这些数据库迁移到 Amazon RDS。完成上述过程的最有效方法是什么?

我知道我可以拍摄数据库的快照并恢复它,但我认为这仅在实例级别?这意味着我必须运行 2 个实例,这似乎没有必要。我在同一个实例上运行两个数据库没有问题(我不想不必要地为多个实例付费)。

我只是做我现在正在做的事情,即mysqldumpX 并将其恢复到 Y,还是 RDS 提供了其他一些方法/快捷方式?

Man*_*Ali 23

由于标题涉及 AWS 实例迁移,因此最好的方法是我的案例(可能因其他案例而异)

  1. 转到 -> https://console.aws.amazon.com/rds
  2. 选择您的数据库实例
  3. 操作 -> 拍摄快照
  4. 转到 -> https://console.aws.amazon.com/rds
  5. 左窗格中的快照
  6. 选择您刚刚创建的快照
  7. 操作 -> 恢复快照

完成上述步骤后,您将被重定向到 RDS 实例创建页面,根据要求填写必填字段并完成迁移:D

  • 我不知道谁投了反对票,但就我对 AWS 的经验而言,这是进行迁移或克隆的最佳方式,我已经做过很多次了 (3认同)

Mic*_*bot 5

考虑迁移到 RDS Aurora for MySQL。

它支持整个数据库(即服务器实例,而不是模式)的本地写时复制克隆,无需进行实际的“复制”。

写时复制意味着“原始”服务器和“克隆”共享同一个物理磁盘(称为 Aurora 集群卷,它使用 4/6 仲裁跨 3 个可用区自我复制两次),两台服务器共享相同的磁盘阻塞,直到其中一个进行更改……这是复制操作实际发生的时间(“写入时”)。因此,您只需使用存储原始工作数据集以及克隆后发生的更改所需的存储量。

在这种设置中,没有服务器是主服务器——它们在克隆后都独立运行。我怀疑我没有用我的描述来公正地对待这种创新——它涉及到相当多的黑魔法。请参阅文章(附有写时复制插图):http : //docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.Managing.Clone.html

Aurora 与 MySQL 5.6 兼容。更准确地说,AuroraMySQL 5.6,删除了 MyISAM 并大量重写 InnoDB 以优化性能并与复制的 Aurora Cluster Volume 存储技术配合使用。