可以配置组复制分布式恢复过程的几个方面,以适应您的系统。
对于来自二进制日志的状态传输,组复制限制了加入的成员在尝试连接到捐赠者池中的捐赠者时进行的尝试次数。如果在成功连接之前达到连接重试限制,则分布式恢复过程将以错误终止。请注意,此限制指定加入成员连接到捐赠者的总尝试次数。例如,如果 2 个组成员是合适的捐赠者,并且连接重试限制设置为 4,则加入成员在达到限制之前,会对每个捐赠者进行 2 次尝试连接。
默认连接重试限制为 10。您可以使用 group_replication_recovery_retry_count
系统变量配置此设置。以下命令将连接到捐赠者的最大尝试次数设置为 5
mysql> SET GLOBAL group_replication_recovery_retry_count= 5;
对于远程克隆操作,此限制不适用。组复制在开始尝试从二进制日志传输状态之前,只会对每个合适的克隆捐赠者进行一次连接尝试。
对于来自二进制日志的状态传输,group_replication_recovery_reconnect_interval
系统变量定义了分布式恢复过程在捐赠者连接尝试之间应休眠多长时间。请注意,分布式恢复不会在每次捐赠者连接尝试后休眠。由于加入成员连接到不同的服务器,而不是重复连接到同一台服务器,因此可以假设影响服务器 A 的问题不会影响服务器 B。因此,分布式恢复仅在经过所有可能的捐赠者后才会暂停。一旦加入组的服务器对组中每个合适的捐赠者进行了一次连接尝试,分布式恢复过程就会休眠 group_replication_recovery_reconnect_interval
系统变量配置的秒数。例如,如果 2 个组成员是合适的捐赠者,并且连接重试限制设置为 4,则加入成员会对每个捐赠者进行一次尝试连接,然后休眠连接重试间隔,然后在达到限制之前对每个捐赠者再进行一次尝试连接。
默认连接重试间隔为 60 秒,您可以动态更改此值。以下命令将分布式恢复捐赠者连接重试间隔设置为 120 秒
mysql> SET GLOBAL group_replication_recovery_reconnect_interval= 120;
对于远程克隆操作,此间隔不适用。组复制在开始尝试从二进制日志传输状态之前,只会对每个合适的克隆捐赠者进行一次连接尝试。