0

问题是关于 MySQL-Master-Master 复制。我在网上看了很多,但是有一个问题。

源数据:

A. MySQL 5.7。我的一部分。cnf 关于复制:

server-id = 1
log_bin = /var/log/mysql/mysql-bin.log
log_bin_index = /var/log/mysql/mysql-bin.log.index
relay-log = /var/log/mysql/mysql-relay-bin
relay-log-index = /var/log/mysql/mysql-relay-bin.index
binlog_do_db = example
expire-logs-days = 7
auto_increment_increment = 2
auto_increment_offset = 1
log-slave-updates = 1

B. MySQL 5.7。my.cnf 关于复制的一部分:

server-id = 2
log_bin = /var/log/mysql/mysql-bin. log
log_bin_index = /var/log/mysql/mysql-bin.log.index
relay-log = /var/log/mysql/mysql-relay-bin
relay-log-index = /var/log/mysql/mysql-relay-bin.index
binlog_do_db = example
expire-logs-days = 7
auto_increment_increment = 2
auto_increment_offset = 2
log-slave-updates = 1

服务器 A 是活动(主)数据库服务器。当服务器 A 被禁用/不可用时,服务器 B 连接。一开始,Master-Master的replication组装好了(replication双向工作),成功工作了2天,直到我决定测试它。我开始阻止对服务器 A 的访问以切换到服务器 B 并返回。多次切换后出现复制错误 1062(无法在表上执行 Write_rows 事件...)。

现在提问。我的复制配置中的哪些配置不正确?我知道这在很大程度上取决于产品和对它的要求,但是是否有通用的 Master-Master 配置?

4

1 回答 1

0

请考虑以下步骤来测试连接或故障转移:

假设,服务器 A处于活动状态。所以

  • 首先在服务器 A 上启用只读。
  • 然后等待几秒钟并检查两次显示从属状态
  • 如果位置没有变化。然后在服务器 B上移动流量。

按照相同的步骤来反向服务器 A上的流量。

于 2021-01-21T10:55:26.483 回答