Group Replication 组成员的状态显示其当前在组中的角色。Performance Schema 表
replication_group_members
显示组中每个成员的状态。如果组功能完备并且所有成员都正常通信,则所有成员都为所有其他成员报告相同的状态。但是,离开群组或属于网络分区的成员无法报告有关其他服务器的准确信息。在这种情况下,成员不会尝试猜测其他服务器的状态,而是将它们报告为无法访问。
组成员可以处于以下状态:
-
ONLINE
服务器是一个组的活跃成员,并且处于全功能状态。其他组成员可以连接到它,客户端也可以(如果适用)。成员只有在处于状态时才与组完全同步并参与其中
ONLINE
。-
RECOVERING
服务器已加入组并正在成为活动成员。目前正在进行分布式恢复,成员正在使用远程克隆操作或捐赠者的二进制日志从捐赠者那里接收状态转移。这个状态是
有关详细信息,请参阅 第 18.5.4 节,“分布式恢复”。
-
OFFLINE
Group Replication 插件已加载,但该成员不属于任何组。当成员加入或重新加入组时,可能会短暂出现此状态。
-
ERROR
该成员处于错误状态,无法作为组成员正常工作。成员可以在应用交易时或在恢复阶段进入错误状态。处于该状态的成员不参与该组的交易。有关错误状态的可能原因的更多信息,请参阅 第 18.7.7 节,“对故障检测和网络分区的响应”。
根据 设置的退出操作
group_replication_exit_state_action
,成员处于只读模式 (super_read_only=ON
),也可能处于离线模式 (offline_mode=ON
)。请注意,OFFLINE_MODE
退出操作后处于离线模式的服务器显示ERROR
状态,而不是OFFLINE
。具有退出操作的服务器ABORT_SERVER
关闭并从组的视图中删除。有关详细信息,请参阅 第 18.7.7.4 节,“退出操作”。当成员加入或重新加入复制组时,其状态可以显示为
ERROR
在组完成兼容性检查并接受它作为成员之前。-
UNREACHABLE
本地故障检测器怀疑无法联系该成员,因为该组的消息超时。例如,如果成员非自愿断开连接,就会发生这种情况。如果您看到其他服务器的这种状态,也可能意味着您查询此表的成员是分区的一部分,其中组服务器的子集可以相互联系但无法联系组中的其他服务器。有关详细信息,请参阅 第 18.7.8 节,“处理网络分区和仲裁丢失”。
有关Performance Schema 表内容的示例, 请参阅第 18.4.3 节,“replication_group_members 表” 。