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