我尝试用 3 个系统实现 MySQL 复制。
在我的设置中,我有如下配对
(Master ,Slave )
(System_1,System_2)
(System_1,System_3)
(System_2,System_1)
(System_2,System_3)
(System_3,System_1)
(System_3,System_2)
因此,在此设置中,每个系统都是其他所有系统的主从系统。
每个系统也都有本地数据库。
现在在简单的情况下一切正常。但是在测试中我面临一个问题是......
假设某个时刻 System_3 断开连接,而不是此时所有 3 个系统都有一些条目,直到 id=3(主键和唯一)。
系统_1
ID | 价值 |
---|---|
1 | 美国广播公司 |
2 | xyz |
3 | pqr |
系统_2
ID | 价值 |
---|---|
1 | 美国广播公司 |
2 | xyz |
3 | pqr |
系统_3
ID | 价值 |
---|---|
1 | 美国广播公司 |
2 | xyz |
3 | pqr |
现在说当 System_3 离线时,它在本地表中创建了一些条目,该条目将在其表中使用 id 4,同时其他两个在线系统,即 System_1、System_2,在它们各自的表中创建了一些也将使用 id 4 的条目具有复制功能的表。
现在说 System_3 上线,它将读取其他系统的 bin 日志文件,并尝试插入其他系统所做的更改以在 id 4 处复制。但是繁荣 System_3 已经在 id 4 处具有值。这里复制停止了。
我的问题是如何解决这个问题。