我不知道如何描述它,所以我称它为半圆。这就是我正在做的事情。
服务器 A
服务器 B = 这是服务器 A 的从服务器
服务器 C = 这是服务器 B 的从服务器
当我在服务器 A 上更新某些内容时,它会反映在服务器 B 上。但同样的更改不会反映在服务器 C 上。
只有当我在服务器 B 上更新某些内容时,更改才会反映在服务器 C 上。
我如何做到这一点,以便在服务器 A 上所做的任何更改都会到达服务器 B(它已经在工作),然后它会到达服务器 C?
编辑
经过调查,我发现当我在服务器 A 上进行一些更改时,它的日志文件位置会发生变化。但是当这些更改反映在服务器 B 上时,服务器 B 日志文件的位置不会改变。正是由于这个原因,服务器 C 不知道服务器 B 上是否有任何更改,除非我明确更改服务器 B 上的某些内容(插入、更新、删除)。
那么有没有办法告诉 MySQL 在 Slave 接收来自 Master 的更新时增加日志文件位置?
仅供参考——这通常称为复制中继链。为了打开它,您必须确保在服务器 B 上设置了以下设置:
这将告诉服务器 B 在收到来自 A 的更新时更新其日志位置。可以在此处找到相关文档(重点添加):