我有几棵MySql绝对孤立的树,每棵树都有一个主人和几个奴隶。
出于自动化目的,我需要为所有主机设置相同的server_id(这将简化需要server_id的 pt-heartbeat 的使用)。这应该很好,因为所有的树都是孤立的。
我想知道,如果我更改master 上的server_id,重新启动 master,是否会损坏复制?当然会有短暂的复制中断,但这会完全中断复制吗?
问题是改变server_id是否会完全破坏复制,它会改变 bin-log 中的位置吗?
更新:实际上我不必重新启动 mysql,我可以在控制台中使用 SET GLOBAL server_id=xxx 更改它,在这种情况下我不需要重新启动。
如果您没有选择错误的 server_id,它应该不会中断复制。原因如下:
鉴于此 server_id 设置
这是复制发生的情况
如果将 Master 的 server_id 设置为 2 会怎样?
分配的唯一错误 server_id 是与 Slave 相同的 server_id。除此之外,复制不应中断。
@com,答案是肯定的,仅更改 MySQL Master 的 server_id 很可能会破坏复制。为了使更改生效,请执行以下步骤:
请注意,仅更改 Slave 上的 server_id 不应影响复制。
祝你好运 :)