MySQL Shell 8.4  /  ...  /  配置选举流程

7.5.3 配置选举流程

您可以选择配置单主集群如何选举新的主节点,例如,可以优先选择一个实例作为新的主节点以进行故障转移。使用 memberWeight 选项,并在创建集群时将其传递给 dba.createCluster()Cluster.addInstance() 方法。memberWeight 选项接受 0 到 100 之间的整数,表示故障转移时自动主节点选举的百分比权重。当一个实例通过 memberWeight 设置了更高的百分比数字时,它更有可能在单主集群中被选为主节点。当进行主节点选举时,如果多个实例具有相同的 memberWeight 值,则会根据其服务器 UUID 按字典顺序(最低)优先考虑实例,并选择第一个实例。

设置 memberWeight 的值会配置实例上的 group_replication_member_weight 系统变量。组复制将值范围限制在 0 到 100,如果提供的值更高或更低,则会自动调整该值。如果未提供值,则组复制将使用默认值 50。有关更多信息,请参阅 单主模式

例如,要配置一个集群,其中 ic-3 是在当前主节点 ic-1 意外离开集群的情况下进行故障转移的优先实例,请按如下方式使用 memberWeight

dba.createCluster('cluster1', {memberWeight:35})
var mycluster = dba.getCluster()
mycluster.addInstance('icadmin@ic2', {memberWeight:25})
mycluster.addInstance('icadmin@ic3', {memberWeight:50})