MySQL 9.0 发行说明
您可以在组复制运行时使用一组函数配置在线组,这些函数依赖于组操作协调器。这些函数由组复制插件安装。本节介绍如何更改正在运行的组,以及可用的函数。
重要
为了使协调器能够在正在运行的组上配置组范围的操作,所有成员都必须安装这些函数。
要使用这些函数,请连接到正在运行的组的成员,并使用 SELECT
语句调用该函数。组复制插件处理操作及其参数,协调器将其发送到调用函数的成员可见的所有成员。如果操作被接受,所有成员都执行该操作,并在完成后发送终止消息。一旦所有成员都声明操作已完成,调用成员就会将结果返回给客户端。
配置整个组时,操作的分布式性质意味着它们与组复制插件的许多进程交互,因此您应该观察以下内容
您可以在任何地方发出配置操作。 如果要将成员 A 设为新的主节点,则不需要在成员 A 上调用该操作。所有操作都以协调的方式在所有组成员上发送和执行。此外,操作的这种分布式执行还有另一种含义:如果调用成员死亡,任何已在运行的配置进程将继续在其他成员上运行。在调用成员死亡的不太可能的情况下,您仍然可以使用监控功能来确保其他成员成功完成操作。
所有成员都必须在线。 为了简化迁移或选举过程并确保它们尽可能快,该组不得包含当前处于分布式恢复过程中的任何成员,否则配置操作将被发出语句的成员拒绝。
在配置更改期间,任何成员都不能加入组。 任何在协调配置更改期间尝试加入该组的成员都将离开该组并取消其加入过程。
一次只能进行一个配置。 正在执行配置更改的组不能接受任何其他组配置更改,因为并发配置操作可能会导致成员分歧。