Documentation Home
MySQL 8.4 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 39.8Mb
PDF (A4) - 39.9Mb
Man Pages (TGZ) - 257.9Kb
Man Pages (Zip) - 364.9Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


20.7.7.2 无法访问多数超时

默认情况下,网络分区导致成员处于少数状态时,不会自动离开组。您可以使用系统变量group_replication_unreachable_majority_timeout设置成员等待少数状态的秒数,然后退出组。设置超时意味着您不需要主动监控少数组成员在网络分区后,避免了由于不当干预而导致的脑裂情况(两个版本的组成员)。

group_ replication_unreachable_majority_timeout超时到期时, minority 组中的所有待处理事务将被回滚,并且该组的服务器转换到ERROR状态。您可以使用group_ replication_autorejoin_tries系统变量强制成员尝试自动重新加入组。在这个点上,该特性默认是活动的;成员将尝试三次自动重新加入。如果自动重新加入过程不成功或未尝试, minority 成员将遵循group_ replication_exit_state_action指定的退出动作。

在决定是否设置不可达多数超时时,考虑以下几点:

  • 例如,在具有两个或四个服务器的对称组中,如果两部分都包含等数量的服务器,那么这两个组都会认为自己处于少数状态,并进入ERROR状态。在这种情况下,组没有功能分区。

  • 在少数组存在时,对少数组处理的事务被接受,但由于少数服务器无法达到 quorum,因此被阻塞,直到在那些服务器上发出STOP GROUP_ REPLICATION或不可达多数超时达到为止。

  • 如果不设置不可达多数超时,少数组的服务器从不自动进入ERROR状态,您必须手动停止它们。

  • 设置不可达多数超时对少数组的服务器无效,如果在检测到多数丢失后设置该超时。

如果不使用group_ replication_ unreachable_majority_timeout系统变量,网络分区事件的处理过程在第20.7.8节,“Handling a Network Partition and Loss of Quorum”中描述,该过程涉及检查服务器是否可用,并在必要时强制新的组成员身份。