【问题标题】:Does AWS RDS support two way replication with local MySQL database?AWS RDS 是否支持本地 MySQL 数据库的双向复制?
【发布时间】:2019-12-29 08:46:57
【问题描述】:

我想将本地 MySQL 数据库同步到 Amazon RDS MySQL 数据库。我找到了 EC2 到 RDS 的解决方案,但没有找到本地数据库到 RDS 的解决方案。

我建立了一个包含 12 个表的数据库,我希望将它们定期或自动备份到云中。 我不想运行 EC2 服务器,因为我只需要 MySQL 数据库来获取云上的备份。

我需要像 Microsoft Database Sync Agent 这样的解决方案。每当在本地数据库中检测到更改时,都应将其同步到云数据库。我怎样才能做到这一点?

【问题讨论】:

    标签: mysql amazon-web-services amazon-ec2 hosting database-replication


    【解决方案1】:

    你可以使用AWS Database Migration Service:

    AWS Database Migration Service (AWS DMS) 是一种云服务,可让您轻松迁移关系数据库、数据仓库、NoSQL 数据库和其他类型的数据存储。您可以使用 AWS DMS 将数据迁移到 AWS 云中、在本地实例之间(通过 AWS 云设置)或在云和本地设置的组合之间迁移。

    借助 AWS DMS,您可以执行一次性迁移,并且您可以复制正在进行的更改以保持源和目标同步

    【讨论】:

      【解决方案2】:

      您可以按照以下步骤实现此目的。

      • 将本地服务器复制到 RDS。
      • 在本地数据库中启用查询日志记录
      • 创建一个 cron 作业,该作业将处理日志查询,并以相同的顺序对 RDS 实例执行查询。

      要生成 RDS 的副本,您可以按照以下步骤操作。

      您无法将本地数据库直接复制到 RDS。您需要转储数据,然后在 RDS 上导入数据。

      您可以使用以下命令直接将数据导入 RDS,而不是生成转储文件。

      mysqldump db_name | mysql -h 'other_hostname' db_name
      

      您可以在此处找到更多相关信息。

      https://dev.mysql.com/doc/refman/5.7/en/copying-databases.html

      还要先导入表和数据,然后再导入触发器、例程和事件。如果您一起导入,则有可能发生冲突,您的工作将被终止。

      【讨论】:

      • 感谢您的帮助。我看到这是一种手动方法。我想我需要手动将本地数据库同步到 RDS。请问您上面描述的方法支持自动同步。
      • 是的,它会的。就像这里所有将在本地执行的查询一样,将以相同的顺序在 RDS 实例上执行。
      猜你喜欢
      • 2021-09-21
      • 2021-07-13
      • 1970-01-01
      • 2017-06-06
      • 2016-03-08
      • 2018-07-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多