如果主故障转移发生在单主模式下(请参阅
配置事务一致性保证)
,组复制提供指定故障转移保证(最终或“读取您的写入” )的能力。您可以通过将选项(在 8.0.16 版本之前,此选项是
选项,现在已弃用)传递给
操作来配置 InnoDB Cluster 在创建时的故障转移保证,它配置了
consistency
failoverConsistency
dba.createCluster()
group_replication_consistency
种子实例上的系统变量。此选项定义了在单主组中选择新主节点时使用的新防护机制的行为。隔离限制连接从新主服务器写入和读取,直到它应用了来自旧主服务器的任何未决积压更改(有时称为“读取您的写入”)。当防护机制就位时,应用程序实际上不会在应用任何积压时看到短时间的时间倒退。这确保应用程序不会从新选出的主节点读取过时的信息。
仅当目标 MySQL 服务器版本为 8.0.14 或更高版本时才支持该consistency
选项,并且添加到已配置该
consistency
选项的集群的实例将自动配置为
group_replication_consistency
在支持该选项的所有集群成员上具有相同的配置。变量默认值由 Group Replication 控制,为EVENTUAL
,将
consistency
选项
更改BEFORE_ON_PRIMARY_FAILOVER
为启用防护机制。或者使用
consistency=0
forEVENTUAL
和consistency=1
for
BEFORE_ON_PRIMARY_FAILOVER
。
在多主 InnoDB Cluster 上使用该consistency
选项没有效果但被允许,因为稍后可以通过该操作将集群更改为单主模式
。
Cluster
.switchToSinglePrimaryMode()