【发布时间】:2017-11-16 07:11:53
【问题描述】:
如果一个master在master-master复制中出现故障,而slave指向失败的master,我们如何恢复slave?
【问题讨论】:
标签: mysql replication master-slave master
如果一个master在master-master复制中出现故障,而slave指向失败的master,我们如何恢复slave?
【问题讨论】:
标签: mysql replication master-slave master
这里我们在 MySQL 中有 Master-Master Replication,一个 master 下有 3 个 slave,另一个 master 下有 1 个 slave。现在,如果 M1 出现故障,我们需要将 3 个从机带入 M2 下需要做什么。
M1--S1,S2,S3 M2--S4
M1 : Master1 M2 : Master2
S1、S2 和 S3:在 M1 下配置的从站
场景:M1 宕机(服务器不可访问),流量由 M2 提供,现在我们必须将 S1、S2 和 S3 置于 M2 之下
在 M2 上 一种。显示从属状态(记下位置) 湾。解析当前的 binlog 并检查使用 M1 的服务器 id 记录的最后一条命令是什么,之后必须使用 M2 服务器 id 记录所有命令 C。记下 M1 服务器 id 记录的最后一条命令之后的位置
检查所有从站 S1、S2、S3 是否应具有与 M2 相同的显示从站状态状态,如果不尝试通过启动 SQL 线程使它们读取中继日志(如果可用)
一旦所有的slave都在同一个位置,就开始步骤1(c.)中获得的所有使用位置
现在三个slave都在M2下,没有任何数据丢失
注意:在这种情况下,如果 M1 与 M2 不同步,甚至 M2 上的中继日志不可用,则会导致数据丢失,从站也可能会抛出一些错误
【讨论】: