原文:https://dev.mysql.com/doc/refman/8.0/en/group-replication-monitoring.html
译者:kun
最近在翻译MySQL8.0官方文档 本文是第18.3“监控组复制”部分。
1.监控组复制
假设MySQL已经在启用了性能模式的情况下编译,使用Perfomance Schema表监控组复制。组复制添加以下表:
performance_schema.replication_group_member_stats
performance_schema.replication_group_members
这些现有的Perfomance Schema复制表也显示有关组复制的信息:
performance_schema.replication_connection_status
显示有关组复制的信息,例如,已从组接收并在应用程序队列中排队的事务(中继日志)。performance_schema.replication_applier_status
显示与组复制相关的通道和线程的状态,如果有许多不同的工作线程应用事务,那么这个表也可用于监视每个工作线程正在执行的操作。
Group Replication插件创建的复制通道命名为:
group_replication_recovery
– 此通道用于与分布式恢复阶段相关的复制更改。group_replication_applier
– 此通道用于来自组的传入更改。并且应用直接来自组的事务的通道。
以下部分描述了每个表中可用的信息。
2.组成员实例状态
组中的server实例可以处于多种状态。如果server都正常通信,则所有来1源gaodai#ma#com搞*代#码1网server都报告相同的状态。但是,如果存在网络分隔,或者组成员离开组,则可能报告不同的信息,这取决于查询了哪个server。要注意的是,如果某个组成员已经离开组,那么显然它不能报告关于其他server状态的最新信息。如果发生网络分隔,如果超出仲裁数量的server都断开了,那么server之间将不能相互协作。因此,他们无法得知不同server成员的状态。因此,他们会报告一些server不可访问,而不是猜测他们的状态。
Server State
Field | 描述 | 组同步 |
ONLINE | 该成员可以作为一个具有所有功能的组成员,这意味着客户端可以连接并开始执行事务。 | yes |
RECOVERING | 该成员正在成为该组的有效成员,并且正处于恢复过程中,从数据源节点(数据源节点)接收状态信息。 | no |
OFFLINE | 插件已加载,但成员不属于任何组。 | no |
ERROR | 本地成员的状态。 只要恢复阶段或应用更改时出现错误,server就会进入此状态。 | no |
UNREACHABLE | 每当本地故障检测器怀疑某个给定的server可能由于已经崩溃或被意外地断开而不可访问时,server的状态显示为“UNREACHABLE” | no |
Important
一旦实例进入ERROR状态后,该 super_read_only选项将设置为ON。要离开ERROR 状态,您必须手动配置实例super_read_only=OFF
需要注意的是,组复制不是同步复制,但最终是同步的。更确切地说,事务以相同的顺序传递给所有组成员,但是它们的执行不同步,这意味着在接受事务被提交之后,每个成员以其自己的速度提交。
3.replication_group_members表