我还是mysql的新手。这个问题是关于使用选项--log-slave-updates提升从属服务器成为主服务器。
在15.3.6 Switching Masters during Failover中描述了将 slave 升级为 master 的典型模式。在这里您可以找到非常严格的步骤:
使用 --log-bin 选项运行从属服务器,而不使用 --log-slave-updates。在没有 --log-slave-updates 的情况下运行从属服务器的原因是为了防止从属服务器接收两次更新,以防您导致其中一个从属服务器成为新的主服务器。
假设我有如下架构(图像取自15.3.5. Improvement Replication Performance)。
Master 2实际上是一个启用了--log-slave-updates和 bin-log 的从站。我需要启用 --log-slave-update 以便将主设备 1的 bin-log 保存到主设备 2的 bin-log,然后将其传输到所有从设备。在故障转移的情况下,我需要将Master 2提升为Master 1的角色。但是与我启用了 --log-slave-updates 的标准 MySql 故障转移模式存在矛盾,这可能会导致问题。
依你的意见。为了做到这一点,我应该采取什么行动?
仅当您有多个中间“主/从”服务器时,警告
--log-slave-updates
才会适用。警告是这样的(我的重点):
但是在你的场景中,
Slave 2
没有改变主人,它仍然会指向Master 2
它一直在的同一台服务器。所以现在,如果
Master 1
失败,你需要做两件事:Master 2
Master 2
--log-slave-updates
新的Master 2