当组内的大多数成员丢失的时候,组会阻塞不处理,比如5个server,3个静默了(异常终止),还剩2个,就不能自动配置了需要人工介入,此处有个疑问,如果3个和2个之间的网络有问题,导致了隔离(我认为2个的成员会变成阻塞状态,3个成员的正常,测试下,可以在官网的例子上看到3个会组成一个分区,需要关闭这3个实例,有点不太理解了)
如果组内的成员是自动退出的,比如自动退了3个,那么组是能自动调节成员个数的。
replication_group_members是维护了组内成员的当前视图,大多数情况下是保持一致的。如果发生了网络分区,quorum丢失,那么这个表就会展示unreachable状态
上面5个server3个异常挂掉后的处理方式有2中:
1 重新配置组成员
2停止剩余在线的2个,查找另外3个挂掉的原因,然后重新启动组
重新配置组成员的方式:
先确保其他不可达的server实例已经关闭了,然后在进行下面的操作
1 登陆到2个online的server查看
select @@group_replication_local_address;
2配置组
SET GLOBAL group_replication_force_members=“127.0.0.1:10000,127.0.0.1:10001”;
3登陆到成员上查看
SELECT * FROM performance_schema.replication_group_members;