您可以使用一组函数在 Group Replication 运行时配置在线组,这些函数依赖于组操作协调器。这些函数从 8.0.13 版本开始安装在 Group Replication 插件中。本节描述了如何对运行组进行更改,以及可用的函数。
为了让协调器能够在运行组上配置组范围的操作,所有成员必须运行 MySQL 8.0.13 或更高版本,并且已经安装了这些函数。
要使用这些函数,请连接到运行组的成员,并使用 SELECT
语句调用函数。Group Replication 插件将处理操作和其参数,并将其发送到所有可见的成员。 如果操作被接受,所有成员将执行操作并在完成时发送终止消息。 一旦所有成员宣布操作完成,调用成员将结果返回给客户端。
在配置整个组时,分布式操作的性质意味着它们与 Group Replication 插件的多个进程交互,因此您应该注意以下几点:
您可以在任何地方发出配置操作。 如果您想使成员 A 成为新的主服务器,您不需要在成员 A 上发出操作。所有操作都将被协调地发送和执行到所有组成员上。另外,这种分布式执行操作还有一个 ramification:如果调用成员死亡,任何已经运行的配置进程将继续在其他成员上运行。在不太可能的情况下,如果调用成员死亡,您仍然可以使用监控功能来确保其他成员成功完成操作。
所有成员必须在线。 为了简化迁移或选举过程,并确保它们尽可能快,组中不能包含任何当前正在分布式恢复过程中的成员,否则配置操作将被成员拒绝。
不能在配置更改期间加入组。 任何尝试在配置更改期间加入组的成员将离开组并取消加入过程。
一次只能进行一个配置。 正在执行配置更改的组不能接受任何其他组配置更改,因为并发配置操作可能导致成员分歧。
所有成员必须运行 MySQL 8.0.13 或更高版本。 由于配置操作的分布式性质,所有成员必须能够识别它们,以便执行它们。因此,如果组中存在任何运行 MySQL Server 8.0.12 或更低版本的服务器,操作将被拒绝。