mysql - Amazon RDS 双向复制

标签 mysql amazon-web-services aws-cli database-replication

我有两个具有相同结构的 rds,每个 db 服务于两个应用程序之一。有些表由第一个应用程序使用,有些由其他应用程序使用。我想在两个 rds 之间设置两种读/写复制方式。我可以使用独立的 mysql,设置表复制(https://dev.mysql.com/doc/refman/5.7/en/replication-rules-table-options.html)来做到这一点,但找不到为 rds 这样做的任何选项

最佳答案

这可能就是您所说的 Really Bad Idea™。

RDS 确实允许您将 RDS 实例配置为另一台机器的从站。

http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/mysql_rds_set_external_master.html

当然,在同一页上...

Warning

Do not use mysql.rds_set_external_master to manage replication between two Amazon RDS DB instances.

...但是,这似乎是因为这不是您将 RDS 实例配置为另一个实例的副本的方式。当您配置只读副本时,您不会使用它——RDS 会为您管理所有复制配置。

mysql.rds_set_external_master() 是一个允许您执行 CHANGE MASTER TO... 的存储过程,因为在 RDS 中,您缺少 SUPER 特权,否则将无法执行此操作。

该功能专为从非 RDS MySQL 服务器到 RDS 的热迁移而设计,方法是在转换期间将事件从外部主服务器复制到 RDS。

...但是,如果有一种方法可以完成您尝试使用 RDS 做的事情,那就是它。每个实例都将设置为使用另一个作为其主实例。

两者需要有网络连接,这意味着它们需要位于同一区域和同一 VPC 中,否则您必须自己处理对等互连或隧道配置以建立该网络路径。

这几乎肯定是一个不受支持的配置,但同样,如果有办法实现它,这就是方式。 “不受支持”并不意味着它不起作用,只是说如果它不起作用,AWS 支持将不可能提供帮助。

我有没有提到这可能不是一个好主意?

关于mysql - Amazon RDS 双向复制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36072071/

相关文章:

PHP - 使用数组值满足特定条件并执行操作

javascript - 如何使用 SAML 将 AWS Cognito 连接到远程 Shibboleth 安装?

amazon-web-services - 亚马逊 S3 : Encrypt messages coming from Amazon SES

amazon-web-services - 如何检查CloudFormation模板是否正确?

amazon-web-services - aws 认知属性 'address' 不遵循其自己的文档

amazon-web-services - aws apigateway 更新集成 cli 错误

amazon-web-services - 允许用户创建 IAM 角色的 AWS IAM 策略(从管理控制台和 AWS CLI)

php - 在数据库中找不到我的注册详细信息

mysql - SQL从多对多+phonegap中选择

Java第二类mysql连接失败