Amazon RDS MySQL和Master-master复制

时间:2014-03-03 19:52:03

标签: mysql amazon-web-services database-replication amazon-rds multi-master-replication

我无法从文档中找到它,但目前似乎不支持Master-Master复制。这是对的吗?

6 个答案:

答案 0 :(得分:12)

这是正确的。 RDS当前不支持Master-Master复制,因此如果您需要,则不容易实现水平扩展以进行写入。然而,RDS确实支持创建多个"只读" RDS从属实例,因此可以水平扩展读取。

以下是有关复制的RDS常见问题解答

http://aws.amazon.com/rds/faqs/#replication

答案 1 :(得分:4)

可能此链接会有所帮助。

https://aws.amazon.com/about-aws/whats-new/2017/11/sign-up-for-the-preview-of-amazon-aurora-multi-master/

  

发表日期:2017年11月29日

     

Amazon Aurora Multi-Master允许您创建多个读/写   跨多个可用区的主实例。这使得   应用程序读取和写入多个数据库实例的数据   正如您今天可以阅读只读副本一样,这是一个集群。

     

多主群集提高了Aurora已经具备的高可用性。如果   您的一个主实例失败,群集中的其他实例失败   将立即接管,保持读写可用性   通过实例故障甚至完成AZ故障,零   应用程序停机时间今天的单主大师Aurora支持一次写作   实例和单个中最多15个可升级的只读副本   数据库集群。主编写器实例最多可以执行   r4.16xlarge上每秒200,000次写入操作。需要的工作量   更高的写入吞吐量将受益于水平扩展   用其他主实例输出他们的写入。预览将是   适用于Aurora MySQL兼容版,您可以   通过填写注册表来参与。

     

Amazon Aurora是一个完全托管的关系数据库,它结合了   高性能商业数据库的性能和可用性   开源数据库的简单性和成本效益。

答案 2 :(得分:1)

现在正在研究它,但现在看来它们支持RDS成为另一个MySQL实例(http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/mysql_rds_set_external_master.html)的奴隶。使用前面提到的read-slave选项,主 - 主复制应该是可行的

答案 3 :(得分:1)

是的,可以在RDS MySql Engine中进行Master-Master复制。但它需要对实例进行一些操作。 先决条件: 1)创建两个实例的只读副本以启用二进制日志记录。 2)如果不需要,删除它们的只读副本。 3)按照下面提到的主从设置说明进行操作。

在Master1上 创建复制用户

grant replication slave on *.* to 'admin'@'%' identified by 'admin';
Query OK, 0 rows affected (0.00 sec)

注意以下命令的输出

  

显示主人身份;   + ---------------------------- + ---------- + --------- ----- + ------------------ + ------------------- + |档案|职位| Binlog_Do_DB |   Binlog_Ignore_DB | Executed_Gtid_Set |   + ---------------------------- + ---------- + --------- ----- + ------------------ + ------------------- + | mysql-bin-changelog.000007 | 120 | |
  | |   + ---------------------------- + ---------- + --------- ----- + ------------------ + ------------------- + 1行集( 0.00秒)

在Master2上

mysql> call mysql.rds_set_external_master('master1.endpoint.amazonaws.com',3306,'admin','admin','**mysql-bin-changelog.000007**',**120**,0);
Query OK, 0 rows affected (0.05 sec)

mysql> call mysql.rds_start_replication;
+-------------------------+
| Message                 |
+-------------------------+
| Slave running normally. |
+-------------------------+
1 row in set (1.01 sec)

mysql -u admin123 -padmin123 -h master2.endpoint.amazonaws.com -e "show slave status\G;" | grep Running
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
      Slave_SQL_Running_State: Slave has read all relay log; waiting for the slave I/O thread to update it

=============================================== =======================

在Master2上

grant replication slave on *.* to 'admin'@'%' identified by 'admin';
Query OK, 0 rows affected (0.00 sec)

show master status;
+----------------------------+----------+--------------+------------------+-------------------+
| File                       | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+----------------------------+----------+--------------+------------------+-------------------+
| **mysql-bin-changelog.000007** |      **120** |              |                  |                   |
+----------------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)

在Master1上

mysql> call mysql.rds_set_external_master('master2.endpoint.amazonaws.com',3306,'admin','admin','**mysql-bin-changelog.000007**',**120**,0);
Query OK, 0 rows affected (0.05 sec)

mysql> call mysql.rds_start_replication;
+-------------------------+
| Message                 |
+-------------------------+
| Slave running normally. |
+-------------------------+
1 row in set (1.01 sec)

mysql -u admin123 -padmin123 -h master1.endpoint.amazonaws.com -e "show slave status\G;" | grep Running
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
      Slave_SQL_Running_State: Slave has read all relay log; waiting for the slave I/O thread to update it

答案 4 :(得分:0)

截至2017年11月29日,Multi-Master正在预览Amazon Aurora(MySQL兼容数据库)

https://aws.amazon.com/about-aws/whats-new/2017/11/sign-up-for-the-preview-of-amazon-aurora-multi-master/

使用Aurora作为MySQL 5.7 Db我们取得了不错的成绩,所以我建议你去看看。

答案 5 :(得分:0)

自 2021 年起,Aurora 中提供多主机,但存在一些限制*

https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-multi-master.html