组复制分布式恢复过程的几个方面可以配置以适合您的系统。
对于从二进制日志进行状态传输,组复制限制了加入成员在尝试连接到捐赠者池中的捐赠者时进行的尝试次数。如果在成功连接之前达到了连接重试限制,则分布式恢复过程将以错误终止。请注意,此限制指定加入成员尝试连接到捐赠者的总次数。例如,如果 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;
对于远程克隆操作,此间隔不适用。组复制仅尝试连接到每个合适的捐赠者以进行克隆,然后开始尝试从二进制日志进行状态传输。