10bet网址
MySQL 8.0参考手册
相关的文档10bet官方网站 本手册下载 本手册节选

MySQL 8.0参考手册/组复制/组复制系统变量

18.9组复制系统变量

本节列出特定于Group Replication插件的系统变量。每个配置选项的前缀都是"group_replication".

Group Replication组成员上的一些系统变量(包括一些特定于Group Replication的系统变量和一些通用系统变量)是组范围的配置设置。这些系统变量在所有组成员上必须具有相同的值,在运行group Replication时不能更改,并且需要完全重新启动组(由具有group_replication_bootstrap_group =对),以使更改生效。如果组为其中一个系统变量设置了值,而加入成员为该系统变量设置了不同的值,则加入成员不能加入组,直到将该值更改为匹配。如果组为其中一个系统变量设置了值,而加入成员不支持该系统变量,则不能加入该组。这些条件适用于以下系统变量:

从MySQL 8.0.16,您可以使用group_replication_switch_to_single_primary_mode ()而且group_replication_switch_to_multi_primary_mode ()的值group_replication_single_primary_mode而且group_replication_enforce_update_everywhere_checks当团体还在运转的时候。有关更多信息,请参见第18.5.1.2节“更改团队模式”

大多数用于组复制的系统变量在不同的组成员上具有不同的值。对于以下系统变量,建议对组中的所有成员设置相同的值,以避免不必要的事务回滚、消息传递失败或消息恢复失败:

Group Replication的大多数系统变量都被描述为动态的,它们的值可以在服务器运行时更改。但是,在大多数情况下,只有在使用停止GROUP_REPLICATION语句后接开始GROUP_REPLICATION声明。对以下系统变量的修改不需要停止并重新启动Group Replication即可生效:

重要的

特定于Group Replication插件的系统变量如下:

  • group_replication_advertise_recovery_endpoints

    命令行格式 ——group-replication-advertise-recovery-endpoints =值
    介绍了 8.0.21
    系统变量 group_replication_advertise_recovery_endpoints
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 字符串
    默认值 默认的

    可以在运行组复制时更改此系统变量的值。更改立即在该成员上生效。但是,已经接收到系统变量前一个值的连接成员将继续使用该值。只有在值更改后加入的成员才会收到新值。

    group_replication_advertise_recovery_endpoints指定连接成员如何建立到现有成员的连接,以便进行分布式恢复的状态传输。该连接用于远程克隆操作和来自提供程序二进制日志的状态传输。

    的值默认的,这是默认设置,意味着加入成员使用现有成员的标准SQL客户端连接,如MySQL服务器的主机名而且港口系统变量。参数指定了替代端口号report_port系统变量,用它来代替。性能架构表replication_group_members控件中显示此连接的地址和端口号MEMBER_HOST而且MEMBER_PORT字段。这是包括MySQL 8.0.20在内的版本中组成员的行为。

    而不是默认的,您可以指定一个或多个分布式恢复端点,现有成员将此端点发布给连接成员以供它们使用。通过提供分布式恢复端点,管理员可以独立控制到组成员的常规MySQL客户端连接的分布式恢复流量。连接成员按在列表中指定的顺序依次尝试每个端点。

    指定分布式恢复端点为用逗号分隔的IP地址和端口号列表,例如:

    group_replication_advertise_recovery_endpoints = " 127.0.0.1:3306 127.0.0.1:4567,[:: 1]: 3306年,localhost: 3306”

    IPv4和IPv6地址和主机名可以任意组合使用。IPv6地址必须用方括号指定。主机名必须解析为本地IP地址。不能使用通配符地址格式,也不能指定空列表。注意,标准SQL客户端连接不会自动包含在分布式恢复端点列表中。如果要将其用作端点,则必须显式地将其包含在列表中。

    关于如何选择IP地址和端口作为分布式恢复端点以及加入成员如何使用这些IP地址和端口的详细信息,请参见第18.5.3.1.1节“为分布式恢复端点选择地址”.各项要求摘要如下:

  • group_replication_allow_local_lower_version_join

    命令行格式 ——group-replication-allow-local-lower-version-join[={|在}]
    系统变量 group_replication_allow_local_lower_version_join
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 布尔
    默认值

    此系统变量的值可以在“Group Replication”运行时更改,但只有在组成员上停止并重新启动“Group Replication”后,更改才会生效。

    group_replication_allow_local_lower_version_join允许当前服务器加入组,即使它运行的MySQL server版本比组低。使用默认设置在美国,如果服务器运行的版本低于现有组成员的版本,则不允许服务器加入复制组。此标准策略确保组的所有成员都能够交换消息并应用事务。注意,运行MySQL 8.0.17或更高版本的成员在检查其兼容性时要考虑发行版的补丁版本。运行MySQL 8.0.16或更低版本或MySQL 5.7的成员只考虑主版本。

    group_replication_allow_local_lower_version_join仅适用于以下场景:

    • 在紧急情况下,必须将服务器添加到组中,以提高组的容错能力,而且只有较老的版本可用。

    • 您需要回滚一个或多个复制组成员的升级,而不需要关闭整个复制组并重新引导。

    警告

    将此选项设置为不使新成员与组兼容,并允许它加入组,而无需对现有成员的不兼容行为进行任何保护。为确保新成员的正确操作,采取这两个以下注意事项:

    1. 在运行较低版本的服务器加入组之前,停止该服务器上的所有写操作。

    2. 从运行较低版本的服务器加入组的位置开始,停止组中其他服务器上的所有写操作。

    如果没有这些注意事项,运行较低版本的服务器很可能遇到困难并出现错误而终止。

  • group_replication_auto_increment_increment

    命令行格式 ——group-replication-auto-increment-increment = #
    系统变量 group_replication_auto_increment_increment
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 整数
    默认值 7
    最小值 1
    最大值 65535

    这个系统变量在所有组成员上应该具有相同的值。在运行组复制时,不能更改此系统变量的值。您必须停止组复制,更改系统变量的值,然后在每个组成员上重新启动组复制。在此过程中,允许系统变量的值在组成员之间有所不同,但是组成员上的一些事务可能会回滚。

    group_replication_auto_increment_increment确定在此服务器实例上执行的事务的自动递增列的连续值之间的间隔。添加间隔可以避免对组成员的写操作选择重复的自动增量值,这会导致事务回滚。默认值7表示复制组的可用数量与允许的最大复制组大小(9个成员)之间的平衡。如果您的组有更多或更少的成员,您可以在启动组复制之前将此系统变量设置为匹配预期的组成员数量。

    当在服务器实例上启动组复制时,服务器系统变量的值auto_increment_increment更改为此值,而服务器系统变量的值auto_increment_offset更改为服务器ID。当停止组复制时,更改将被恢复。只有当auto_increment_increment而且auto_increment_offset它们的默认值都是1。如果已经从默认值修改了它们,则Group Replication不会更改它们。从MySQL 8.0中,当Group Replication处于单主模式(即只有一台服务器写入)时,也不会修改系统变量。

  • group_replication_autorejoin_tries

    命令行格式 ——group-replication-autorejoin-tries = #
    介绍了 8.0.16
    系统变量 group_replication_autorejoin_tries
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 整数
    默认值(≥8.0.21) 3.
    默认值(≤8.0.20) 0
    最小值 0
    最大值 2016

    此系统变量可以在运行组复制时修改,修改后立即生效。当发生意味着需要该行为的问题时,将读取系统变量的当前值。

    group_replication_autorejoin_tries指定成员在被驱逐时自动重新加入组的尝试次数group_replication_unreachable_majority_timeout设置。当达到成员的驱逐或不可达多数超时时,它尝试重新加入(使用当前插件选项值),然后继续进行进一步的自动重新加入尝试,直到指定的尝试次数。在一次不成功的自动重新加入尝试后,该成员在下一次尝试前等待5分钟。方法所指定的尝试次数已用完,而成员没有重新加入或被停止,则成员继续执行group_replication_exit_state_action系统变量。

    在MySQL 8.0.20中,默认设置为0,这意味着成员不会尝试自动重新加入。从MySQL 8.0.21开始,默认设置为3,这意味着成员自动尝试3次重新加入组,每次间隔5分钟。您可以指定最多2016次尝试。

    在自动重新连接尝试期间,成员保持超级只读模式,不接受写操作,但仍然可以在该成员上进行读操作,但随着时间的推移,过时的读操作的可能性越来越大。如果您不能容忍在任何一段时间内出现陈旧的读取,请设置group_replication_autorejoin_tries为0。有关自动重新连接特性的更多信息,以及为该选项选择值时的注意事项,请参见部分18.7.6.3,“Auto-Rejoin”

  • group_replication_bootstrap_group

    命令行格式 ——group-replication-bootstrap-group[={|在}]
    系统变量 group_replication_bootstrap_group
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 布尔
    默认值

    group_replication_bootstrap_group配置此服务器引导组。这个系统变量必须只有设置在一台服务器上,并且只有第一次启动组或重新启动整个组时。在引导组之后,将此选项设置为.应该设置为动态和在配置文件中。在组运行时使用此选项启动两个服务器或重新启动一个服务器可能会导致人工分裂大脑的情况,即启动两个名称相同的独立组。

  • group_replication_clone_threshold

    命令行格式 ——group-replication-clone-threshold = #
    介绍了 8.0.17
    系统变量 group_replication_clone_threshold
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 整数
    默认值 9223372036854775807
    最小值 1
    最大值 9223372036854775807
    单位 交易

    此系统变量的值可以在“Group Replication”运行时更改,但只有在组成员上停止并重新启动“Group Replication”后,更改才会生效。

    group_replication_clone_threshold指定现有成员(提供方)和连接成员(接收方)之间的事务间隙(以事务的数量表示),该事务间隙在分布式恢复过程中触发使用远程克隆操作将状态传输到连接成员。如果加入成员和合适的捐赠者之间的事务差距超过阈值,则Group Replication通过远程克隆操作开始分布式恢复。如果事务间隙低于阈值,或者远程克隆操作在技术上不可行,Group Replication直接从捐赠者的二进制日志进行状态传输。

    警告

    不使用低设置group_replication_clone_threshold在一个活跃的团体中。如果在进行远程克隆操作时,组中发生了许多超过阈值的事务,则加入成员在重新启动后再次触发远程克隆操作,并可能无限期地继续此操作。为了避免这种情况,请确保将阈值设置为高于远程克隆操作期间期望在组中发生的事务数。

    要使用此功能,必须事先设置捐赠者和加入成员以支持克隆。说明,请参阅第18.5.3.2节“为分布式恢复而克隆”.当执行远程克隆操作时,Group Replication将为您管理该操作,包括所需的服务器重新启动,前提是group_replication_start_on_boot =对是集。否则,必须手动重新启动服务器。远程克隆操作将替换加入成员上的现有数据字典,但如果加入成员有其他组成员上没有的附加事务,Group Replication将检查并不继续,因为这些事务将被克隆操作删除。

    默认设置(这是GTID中事务允许的最大序列号)意味着实际上总是尝试从捐赠者的二进制日志传输状态,而不是克隆。但是,请注意,如果不可能从提供者的二进制日志传输状态,Group Replication总是尝试执行克隆操作,而不管您的阈值是多少,例如,因为加入成员所需的事务在任何现有组成员的二进制日志中都不可用。如果您完全不想在复制组中使用克隆,则不要在成员上安装克隆插件。

  • group_replication_communication_debug_options

    命令行格式 ——group-replication-communication-debug-options =值
    系统变量 group_replication_communication_debug_options
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 字符串
    默认值 GCS_DEBUG_NONE
    有效值

    GCS_DEBUG_NONE

    GCS_DEBUG_BASIC

    GCS_DEBUG_TRACE

    XCOM_DEBUG_BASIC

    XCOM_DEBUG_TRACE

    GCS_DEBUG_ALL

    此系统变量的值可以在“Group Replication”运行时更改,但只有在组成员上停止并重新启动“Group Replication”后,更改才会生效。

    group_replication_communication_debug_options配置为不同的组复制组件提供的调试消息级别,例如组通信系统(GCS)和组通信引擎(XCom, Paxos的一个变体)。调试信息存储在GCS_DEBUG_TRACE数据目录中的文件。

    可用选项集(指定为字符串)可以组合。有以下选项:

    • GCS_DEBUG_NONE禁用GCS和XCom的所有调试级别。

    • GCS_DEBUG_BASIC打开GCS的基本调试信息开关。

    • GCS_DEBUG_TRACE启用GCS中的跟踪信息。

    • XCOM_DEBUG_BASIC打开XCom的基本调试信息。

    • XCOM_DEBUG_TRACE启用XCom中的跟踪信息。

    • GCS_DEBUG_ALL打开GCS和XCom的所有调试级别。

    将调试级别设置为GCS_DEBUG_NONE只有在没有其他选择的情况下才有效。将调试级别设置为GCS_DEBUG_ALL覆盖所有其他选项。

  • group_replication_communication_max_message_size

    命令行格式 ——group-replication-communication-max-message-size = #
    介绍了 8.0.16
    系统变量 group_replication_communication_max_message_size
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 整数
    默认值 10485760
    最小值 0
    最大值 1073741824
    单位 字节

    这个系统变量在所有组成员上应该具有相同的值。在运行组复制时,不能更改此系统变量的值。您必须停止组复制,更改系统变量的值,然后在每个组成员上重新启动组复制。在此过程中,允许系统变量的值在组成员之间有所不同,但是组成员上的一些事务可能会回滚。

    group_replication_communication_max_message_size指定组复制通信的最大消息大小。大于此大小的消息将自动分割为片段,分别发送并由收件人重新组合。有关更多信息,请参见第18.7.4节,“消息碎片”

    缺省情况下设置的最大消息大小为10485760字节(10 MiB),这意味着在MySQL 8.0.16版本中默认使用碎片。的最大值与允许的最大值相同slave_max_allowed_packet系统变量,取值为1073741824字节(1gb)。的设置group_replication_communication_max_message_size必须小于slave_max_allowed_packet设置,因为应用程序线程不能处理大于slave_max_allowed_packet.若要关闭碎片,请为指定一个零值group_replication_communication_max_message_size

    为了让复制组的成员使用碎片,组的通信协议版本必须是MySQL 8.0.16或更高版本。使用group_replication_get_communication_protocol ()命令功能查看群组通信协议版本信息。如果使用的是较低的版本,则组成员不会对消息进行分片。您可以使用group_replication_set_communication_protocol ()函数将组的通信协议设置为更高版本(如果所有组成员都支持)。有关更多信息,请参见第18.5.1.4节“设置群组通信协议版本”

  • group_replication_components_stop_timeout

    命令行格式 ——group-replication-components-stop-timeout = #
    系统变量 group_replication_components_stop_timeout
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 整数
    默认值 31536000
    最小值 2
    最大值 31536000
    单位

    此系统变量的值可以在“Group Replication”运行时更改,但只有在组成员上停止并重新启动“Group Replication”后,更改才会生效。

    group_replication_components_stop_timeout指定组复制在关闭时等待每个组件的超时时间,以秒为单位。

  • group_replication_compression_threshold

    命令行格式 ——group-replication-compression-threshold = #
    系统变量 group_replication_compression_threshold
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 整数
    默认值 1000000
    最小值 0
    最大值 4294967295
    单位 字节

    这个系统变量在所有组成员上应该具有相同的值。可以在运行组复制时更改此系统变量的值。在停止并重新启动组成员的group Replication后,更改将对每个组成员生效。在此过程中,允许系统变量的值在组成员之间有所不同,但消息传递在所有成员上的效率并不相同。

    group_replication_compression_threshold指定阈值(以字节为单位),超过该阈值将对组成员之间发送的消息应用压缩。如果将此系统变量设置为零,则禁用压缩。

    Group Replication使用LZ4压缩算法对组内发送的消息进行压缩。注意,LZ4压缩算法支持的最大输入大小是2113929216字节。的最大可能值低于此限制group_replication_compression_threshold系统变量,它与XCom接受的最大消息大小相匹配。使用LZ4压缩算法时,不要设置大于2113929216字节的值group_replication_compression_threshold,因为在启用消息压缩时,不能提交此大小以上的事务。

    有关更多信息,请参见第18.7.3节,“消息压缩”

  • group_replication_consistency

    命令行格式 ——group-replication-consistency =值
    介绍了 8.0.14
    系统变量 group_replication_consistency
    范围 全球、会话
    动态 是的
    SET_VAR提示应用 没有
    类型 枚举
    默认值 最终
    有效值

    最终

    BEFORE_ON_PRIMARY_FAILOVER

    之前

    BEFORE_AND_AFTER

    可以在运行组复制时更改此系统变量的值。group_replication_consistency是服务器系统变量,而不是Group Replication插件特定的变量,因此更改生效不需要重新启动Group Replication。修改系统变量的会话值立即生效,修改全局值后重新启动的会话才生效。的GROUP_REPLICATION_ADMIN更改此系统变量的全局设置需要特权。

    group_replication_consistency控制一个组提供的事务一致性保证。您可以全局或每个事务配置一致性。group_replication_consistency还配置单个主要组中新选出的主要使用的隔离机制。对于只读(RO)和读写(RW)事务,必须考虑变量的影响。下面的列表显示了该变量的可能值,以增加事务一致性保证:

    • 最终

      RO和RW事务在执行之前都不等待前面的事务被应用。这是在添加此变量之前的Group Replication的行为。RW事务不等待其他成员应用事务。这意味着事务可以先于其他成员外部化到一个成员。这也意味着,在发生主事务故障转移时,新的主事务可以在应用前一个主事务之前接受新的RO和RW事务。RO事务可能导致过时的值,RW事务可能由于冲突而导致回滚。

    • BEFORE_ON_PRIMARY_FAILOVER

      新的RO或RW事务与从旧的主系统应用积压的新选择的主系统保持(不应用),直到应用了任何积压。这确保了在发生主故障转移时(无论有意无意),客户机总是看到主服务器上的最新值。这保证了一致性,但意味着客户端必须能够在应用backlog时处理延迟。通常这种延迟应该是最小的,但确实取决于积压的大小。

    • 之前

      RW事务在应用之前等待所有前面的事务完成。RO事务在执行之前等待所有前面的事务完成。这可以通过只影响事务的延迟来确保该事务读取最新的值。这通过确保仅在RO事务上使用同步,减少了每个RW事务上的同步开销。该一致性级别还包括BEFORE_ON_PRIMARY_FAILOVER

    • RW事务等待,直到它的更改应用到所有其他成员。该值对RO事务没有影响。此模式确保当事务在本地成员上提交时,任何后续事务都会读取写入的值或任何组成员上最近的值。将此模式与主要用于RO操作的组一起使用,以确保所应用的RW事务一旦提交就应用到所有地方。应用程序可以使用这一点来确保后续的读操作获取最新的数据,其中包括最新的写操作。这通过确保仅在RW事务上使用同步来减少每个RO事务上的同步开销。该一致性级别还包括BEFORE_ON_PRIMARY_FAILOVER

    • BEFORE_AND_AFTER

      RW事务等待1)所有前面的事务在应用之前完成,2)直到它的更改应用到其他成员上。RO事务等待所有前面的事务在执行之前完成。该一致性级别还包括BEFORE_ON_PRIMARY_FAILOVER

    有关更多信息,请参见第18.5.2节“交易一致性保证”

  • group_replication_enforce_update_everywhere_checks

    命令行格式 ——group-replication-enforce-update-everywhere-checks[={|在}]
    系统变量 group_replication_enforce_update_everywhere_checks
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 布尔
    默认值

    这个系统变量是组范围的配置设置。它必须在所有组成员上具有相同的值,不能在运行group Replication时更改,并且需要完全重新启动组(由具有group_replication_bootstrap_group =对),以使更改生效。如果组为该系统变量设置了值,而加入成员为该系统变量设置了不同的值,则加入成员不能加入该组,直到将该值更改为匹配。如果组成员为该系统变量设置了值,而加入成员不支持该系统变量,则不能加入组成员。

    从MySQL 8.0.16,您可以使用group_replication_switch_to_single_primary_mode ()而且group_replication_switch_to_multi_primary_mode ()函数在组仍在运行时更改此系统变量的值。有关更多信息,请参见第18.5.1.2节“更改团队模式”

    group_replication_enforce_update_everywhere_checks在所有地方启用或禁用对多主端更新的严格一致性检查。默认情况下,检查是禁用的。在单主模式下,必须在所有组成员上禁用此选项。在多主模式下,当启用此选项时,将按以下方式检查语句,以确保它们与多主模式兼容:

    • 对象下执行事务可序列化的隔离级别,则在将自身与组同步时提交失败。

    • 如果事务对具有级联约束的外键的表执行,则事务在将自身与组同步时提交失败。

  • group_replication_exit_state_action

    命令行格式 ——group-replication-exit-state-action =值
    介绍了 8.0.12
    系统变量 group_replication_exit_state_action
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 枚举
    默认值(≥8.0.16) READ_ONLY
    默认值(≥8.0.12,≤8.0.15) ABORT_SERVER
    有效值(≥8.0.18)

    ABORT_SERVER

    OFFLINE_MODE

    READ_ONLY

    有效值(≥8.0.12,≤8.0.17)

    ABORT_SERVER

    READ_ONLY

    此系统变量可以在运行组复制时修改,修改后立即生效。当发生意味着需要该行为的问题时,将读取系统变量的当前值。

    group_replication_exit_state_action配置当此服务器实例无意中离开组时(例如在遇到应用程序错误后),或在多数丢失的情况下,或当组的另一个成员由于怀疑超时而驱逐它时,Group Replication的行为。在失去多数选票的情况下,成员离开组的超时时间由group_replication_unreachable_majority_timeout系统变量,且怀疑的超时时间由group_replication_member_expel_timeout系统变量。注意,被驱逐的组成员在重新连接到组之前并不知道自己被驱逐了,因此,只有当成员成功重新连接,或者成员对自己产生怀疑并驱逐自己时,才会执行指定的操作。

    当一个群体成员因怀疑计时失误或失去多数而被驱逐时,如果该成员有group_replication_autorejoin_tries设置的系统变量来指定自动重新连接尝试的次数,它首先在超级只读模式下进行指定的尝试次数,然后执行group_replication_exit_state_action.如果出现应用程序错误,则不会进行自动重新连接尝试,因为这些尝试是不可恢复的。

    group_replication_exit_state_action被设置为READ_ONLY,如果成员无意退出组或耗尽其自动重新加入尝试,实例将MySQL切换为超级只读模式(通过设置system变量super_read_only).的READ_ONLYexit动作是MySQL 8.0版本在引入system变量之前的行为,从MySQL 8.0.16开始再次成为默认动作。

    group_replication_exit_state_action被设置为OFFLINE_MODE,如果成员无意退出组或耗尽其自动重新加入尝试,实例将MySQL切换到脱机模式(通过设置system变量offline_mode).在这种模式下,已连接的客户端用户在其下一次请求时断开连接,连接不再被接受,但具有CONNECTION_ADMIN特权(或已弃用的超级特权)。“组复制”还可以设置系统变量super_read_only,因此客户端无法进行任何更新,即使它们已连接到CONNECTION_ADMIN超级特权。的OFFLINE_MODEexit动作在MySQL 8.0.18中可用。

    group_replication_exit_state_action被设置为ABORT_SERVER,如果成员无意退出组或耗尽其自动重新加入尝试,实例将关闭MySQL。当添加系统变量时,这个设置是MySQL 8.0.12到MySQL 8.0.15的默认设置。

    重要的

    如果在成员成功加入组之前发生故障,则指定的退出操作不采取.如果在本地配置检查期间出现失败,或者加入成员的配置与组的配置不匹配,就会出现这种情况。在这些情况下,super_read_onlysystem变量保留其原始值,继续接受连接,服务器不会关闭MySQL。为了确保在组复制未启动时服务器不能接受更新,因此我们建议这样做super_read_only =对在启动时在服务器的配置文件中设置,那么组复制更改为哪个在成功启动主成员之后。如果将服务器配置为在服务器引导时启动组复制(group_replication_start_on_boot =对方法手动启动组复制时,它也很有用开始GROUP_REPLICATION命令。

    有关使用此选项的更多信息,以及执行退出操作的情况的完整列表,请参见第18.7.6.4节“退出行动”

  • group_replication_flow_control_applier_threshold

    命令行格式 ——group-replication-flow-control-applier-threshold = #
    系统变量 group_replication_flow_control_applier_threshold
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 整数
    默认值 25000
    最小值 0
    最大值 2147483647
    单位 交易

    此系统变量可以在运行组复制时修改,修改后立即生效。

    group_replication_flow_control_applier_threshold指定触发流控制的应用程序队列中等待事务的数量。

  • group_replication_flow_control_certifier_threshold

    命令行格式 ——group-replication-flow-control-certifier-threshold = #
    系统变量 group_replication_flow_control_certifier_threshold
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 整数
    默认值 25000
    最小值 0
    最大值 2147483647
    单位 交易

    此系统变量可以在运行组复制时修改,修改后立即生效。

    group_replication_flow_control_certifier_threshold指定触发流控制的证书队列中等待事务的数量。

  • group_replication_flow_control_hold_percent

    命令行格式 ——group-replication-flow-control-hold-percent = #
    系统变量 group_replication_flow_control_hold_percent
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 整数
    默认值 10
    最小值 0
    最大值 One hundred.
    单位 百分比

    此系统变量可以在运行组复制时修改,修改后立即生效。

    group_replication_flow_control_hold_percent定义未使用的组配额的百分比,以允许处于流控制下的集群赶上积压。值为0意味着配额中没有任何部分被保留来追赶工作积压。

  • group_replication_flow_control_max_commit_quota

    命令行格式 ——group-replication-flow-control-max-commit-quota = #
    系统变量 group_replication_flow_control_max_commit_quota
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 整数
    默认值 0
    最小值 0
    最大值 2147483647

    此系统变量可以在运行组复制时修改,修改后立即生效。

    group_replication_flow_control_max_commit_quota定义组的最大流量控制配额,或启用流量控制时任意时间段的最大可用配额。值为0表示没有设置最大配额。该系统变量的值不能小于group_replication_flow_control_min_quota而且group_replication_flow_control_min_recovery_quota

  • group_replication_flow_control_member_quota_percent

    命令行格式 ——group-replication-flow-control-member-quota-percent = #
    系统变量 group_replication_flow_control_member_quota_percent
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 整数
    默认值 0
    最小值 0
    最大值 One hundred.
    单位 百分比

    此系统变量可以在运行组复制时修改,修改后立即生效。

    group_replication_flow_control_member_quota_percent定义成员在计算配额时应假定可供自己使用的配额百分比。值为0意味着配额应该在上一时期的作者成员之间平均分配。

  • group_replication_flow_control_min_quota

    命令行格式 ——group-replication-flow-control-min-quota = #
    系统变量 group_replication_flow_control_min_quota
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 整数
    默认值 0
    最小值 0
    最大值 2147483647

    此系统变量可以在运行组复制时修改,修改后立即生效。

    group_replication_flow_control_min_quota控制可分配给成员的最低流量控制配额,独立于上一段期间执行的计算最小配额。值为0表示不存在最小配额。该系统变量的值不能大于group_replication_flow_control_max_commit_quota

  • group_replication_flow_control_min_recovery_quota

    命令行格式 ——group-replication-flow-control-min-recovery-quota = #
    系统变量 group_replication_flow_control_min_recovery_quota
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 整数
    默认值 0
    最小值 0
    最大值 2147483647

    此系统变量可以在运行组复制时修改,修改后立即生效。

    group_replication_flow_control_min_recovery_quota控制由于组中另一个正在恢复的成员而可以分配给成员的最低配额,与上一段期间执行的计算最小配额无关。值为0表示不存在最小配额。该系统变量的值不能大于group_replication_flow_control_max_commit_quota

  • group_replication_flow_control_mode

    命令行格式 ——group-replication-flow-control-mode =值
    系统变量 group_replication_flow_control_mode
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 枚举
    默认值 配额
    有效值

    禁用

    配额

    此系统变量可以在运行组复制时修改,修改后立即生效。

    group_replication_flow_control_mode指定用于流量控制的模式。

  • group_replication_flow_control_period

    命令行格式 ——group-replication-flow-control-period = #
    系统变量 group_replication_flow_control_period
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 整数
    默认值 1
    最小值 1
    最大值 60
    单位

    此系统变量可以在运行组复制时修改,修改后立即生效。

    group_replication_flow_control_period定义两次流控制迭代之间等待的秒数,在此期间发送流控制消息和运行流控制管理任务。

  • group_replication_flow_control_release_percent

    命令行格式 ——group-replication-flow-control-release-percent = #
    系统变量 group_replication_flow_control_release_percent
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 整数
    默认值 50
    最小值 0
    最大值 1000
    单位 百分比

    此系统变量可以在运行组复制时修改,修改后立即生效。

    group_replication_flow_control_release_percent定义当流控制不再需要限制写入器成员时应如何释放组配额,此百分比为每个流控制周期的配额增加。值为0意味着一旦流量控制阈值在限制范围内,配额将在单个流量控制迭代中释放。该范围允许以当前配额的10倍释放配额,因为这允许更大程度的适应,主要是在流量控制周期大而配额非常小的情况下。

  • group_replication_force_members

    命令行格式 ——group-replication-force-members =值
    系统变量 group_replication_force_members
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 字符串

    此系统变量用于强制建立新的组成员关系。此系统变量可以在运行组复制时修改,修改后立即生效。您只需要在将留在组中的一个组成员上设置系统变量的值。有关可能需要强制新的组成员关系的情况以及使用此系统变量时要遵循的过程的详细信息,请参见第18.5.4节“网络分区”

    group_replication_force_members以逗号分隔的列表指定对端地址列表,例如host1:端口1host2:端口2.没有包含在列表中的任何现有成员都不会收到组的新视图,并且会被阻止。对于将继续作为成员的每个现有成员,必须包括IP地址或主机名和端口,因为它们是在group_replication_local_address每个成员的系统变量。IPv6地址必须用方括号表示。例如:

    “198.51.100.44:33061 [2001:db8:85a3:8d3:1319:8a2e 370:7348):: 33061年,example.org: 33061”

    用于组复制(XCom)的组通信引擎检查所提供的IP地址的格式是否有效,并检查是否包含当前不可访问的任何组成员。否则,将不验证新配置,因此必须注意只包含可访问的组成员的在线服务器。列表中任何不正确的值或无效的主机名都可能导致使用无效配置阻塞组。

    在强制执行新的成员关系配置之前,必须确保要排除的服务器已经关闭。如果不是,在继续之前关闭它们。仍然在线的团队成员可以自动形成新的配置,如果这已经发生了,强制进一步的新配置可能会给团队造成人工分裂的情况。

    当你用过group_replication_force_members系统变量,以成功强制新的组成员身份和解除阻塞的组,确保您清除了系统变量。group_replication_force_members必须为空才能发出开始GROUP_REPLICATION声明。

  • group_replication_group_name

    命令行格式 ——group-replication-group-name =值
    系统变量 group_replication_group_name
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 字符串

    在运行组复制时,不能更改此系统变量的值。

    group_replication_group_name指定此服务器实例所属的组的名称,必须是有效的UUID。这个UUID形成gtid的一部分,当组成员从客户端接收到事务时使用gtid,以及组成员在内部生成的视图更改事件写入二进制日志时使用gtid。

    重要的

    必须使用唯一的UUID。

  • group_replication_group_seeds

    命令行格式 ——group-replication-group-seeds =值
    系统变量 group_replication_group_seeds
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 字符串

    此系统变量的值可以在“Group Replication”运行时更改,但只有在组成员上停止并重新启动“Group Replication”后,更改才会生效。

    group_replication_group_seeds是一个组成员列表,加入成员可以连接到该列表以获取所有当前组成员的详细信息。加入成员使用这些详细信息来选择并连接到组成员,以获取与组成员同步所需的数据。该列表由单个内部网络地址或每个包含的种子成员的主机名组成,如种子成员的配置group_replication_local_addresssystem变量(不是种子成员的SQL客户端连接,如MySQL Server的主机名而且港口系统变量)。种子成员的地址指定为逗号分隔的列表,例如host1:端口1host2:端口2.IPv6地址必须用方括号表示。例如:

    group_replication_group_seeds = " 198.51.100.44:33061, [2001: db8:85a3:8d3:1319:8a2e 370:7348):: 33061年,example.org: 33061”

    注意,您为该变量指定的值直到开始GROUP_REPLICATION声明已发出,团体通讯系统(GCS)已可用。

    通常这个列表包含组的所有成员,但是您可以选择组成员的一个子集作为种子。列表必须包含至少一个有效的成员地址。在启动组复制时验证每个地址。如果列表不包含任何有效的成员地址,则发出开始GROUP_REPLICATION失败。

    当服务器加入复制组时,它尝试连接到其中列出的第一个种子成员group_replication_group_seeds系统变量。如果连接被拒绝,那么加入成员将尝试按顺序连接到列表中的其他种子成员。如果加入成员连接到一个种子成员,但没有被添加到复制组中(例如,因为种子成员的允许列表中没有加入成员的地址,所以关闭了连接),那么加入成员将继续按顺序尝试列表中其余的种子成员。

    一个加入成员必须与种子成员使用相同的协议(IPv4或IPv6)进行通信group_replication_group_seeds选择。为了获得Group Replication的IP地址权限,种子成员上的allowlist必须包括种子成员提供的协议的加入成员的IP地址,或者解析为该协议的地址的主机名。除了加入会员的地址或主机名之外,还必须设置和允许该地址或主机名group_replication_local_address如果该地址的协议与种子成员发布的协议不匹配。如果一个加入成员没有适当协议的允许地址,它的连接尝试将被拒绝。有关更多信息,请参见第18.6.1节“组复制IP地址权限”

  • group_replication_gtid_assignment_block_size

    命令行格式 ——group-replication-gtid-assignment-block-size = #
    系统变量 group_replication_gtid_assignment_block_size
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 整数
    默认值 1000000
    最小值 1
    最大值(64位平台) 9223372036854775807
    最大值(32位平台) 4294967295

    这个系统变量是组范围的配置设置。它必须在所有组成员上具有相同的值,不能在运行group Replication时更改,并且需要完全重新启动组(由具有group_replication_bootstrap_group =对),以使更改生效。如果组为该系统变量设置了值,而加入成员为该系统变量设置了不同的值,则加入成员不能加入该组,直到将该值更改为匹配。如果组成员为该系统变量设置了值,而加入成员不支持该系统变量,则不能加入组成员。

    group_replication_gtid_assignment_block_size指定为每个组成员保留的连续gtid的数量。每个成员使用自己的块,并在需要时保留更多块。

  • group_replication_ip_allowlist

    命令行格式 ——group-replication-ip-allowlist =值
    介绍了 8.0.22
    系统变量 group_replication_ip_allowlist
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 字符串
    默认值 自动

    group_replication_ip_allowlist可以从MySQL 8.0.22中替换什么group_replication_ip_whitelist.从MySQL 8.0.24开始,这个系统变量的值可以在Group Replication运行时更改,更改会立即在成员上生效。

    group_replication_ip_allowlist指定允许哪些主机连接到组。中为每个组成员指定的地址group_replication_local_address必须允许在复制组中的其他服务器上使用。注意,您为该变量指定的值直到开始GROUP_REPLICATION声明已发出,团体通讯系统(GCS)已可用。

    默认情况下,该系统变量设置为自动,它允许来自主机上活动的私有子网的连接。用于组复制(XCom)的组通信引擎自动扫描主机上的活动接口,并识别那些地址位于私有子网上的接口。这些地址和本地主机IPv4的IP地址和(从MySQL 8.0.14) IPv6用于创建Group Replication allowlist。有关自动允许地址范围的列表,请参见第18.6.1节“组复制IP地址权限”

    私有地址的自动允许列表不能用于来自私有网络以外的服务器的连接。对于位于不同机器上的服务器实例之间的Group Replication连接,必须提供公共IP地址,并将这些地址指定为显式的allowlist。如果为allowlist指定任何条目,则不会自动添加私有地址,因此如果使用其中任何一个,则必须显式指定它们。的本地主机IP地址自动添加。

    的值group_replication_ip_allowlist选项,您可以指定以下选项的任何组合:

    • IPv4地址(例如,198.51.100.44

    • 带有CIDR表示法的IPv4地址(例如,192.0.2.21/24

    • IPv6地址,从MySQL 8.0.14(例如,2001: db8:85a3:8d3:1319:8a2e: 370:7348

    • IPv6地址与CIDR表示法,从MySQL 8.0.14(例如,2001: db8:85a3:8d3:: / 64

    • 主机名(例如,example.org

    • 带有CIDR符号的主机名(例如,www.example.com/24

    在MySQL 8.0.14之前,主机名只能解析为IPv4地址。从MySQL 8.0.14开始,主机名可以解析为IPv4地址、IPv6地址或两者都解析。如果主机名解析为IPv4地址和IPv6地址,则组复制连接始终使用IPv4地址。您可以将CIDR表示法与主机名或IP地址结合使用,以允许具有特定网络前缀的IP地址块,但一定要确保指定子网中的所有IP地址都在您的控制之下。

    allowlist中的每个条目之间必须用逗号隔开。例如:

    “192.0.2.21/24,198.51.100.44,203.0.113.0/24,2001:db8:85a3:8d3:1319:8a2e: 370:7348, example.org, www.example.com/24”

    中列出的组的任何种子成员group_replication_group_seeds选项与IPv6地址,当加入成员有一个IPv4地址group_replication_local_address或者相反,您还必须为种子成员提供的协议为加入成员设置并允许一个备选地址(或解析为该协议的地址的主机名)。有关更多信息,请参见第18.6.1节“组复制IP地址权限”

    根据您的安全需求,可以在不同的组成员上配置不同的允许列表,例如,为了保持不同的子网独立。但是,在重新配置组时,这可能会导致问题。如果没有特定的安全需求,可以对组的所有成员使用相同的allowlist。有关更多细节,请参见第18.6.1节“组复制IP地址权限”

    对于主机名,只有在另一个服务器发出连接请求时才进行名称解析。不能解析的主机名将不被考虑用于allowlist验证,并将一条警告消息写入错误日志。FCrDNS (Forward-confirmed reverse DNS)验证是对解析后的主机名进行验证。

    警告

    主机名本质上不如允许列表中的IP地址安全。FCrDNS验证提供了良好的保护级别,但可能会受到某些类型的攻击。只有在严格必要时才在allowlist中指定主机名,并确保用于名称解析的所有组件(如DNS服务器)都在您的控制之下。您还可以使用hosts文件在本地实现名称解析,以避免使用外部组件。

  • group_replication_ip_whitelist

    命令行格式 ——group-replication-ip-whitelist =值
    弃用 8.0.22
    系统变量 group_replication_ip_whitelist
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 字符串
    默认值 自动

    从MySQL 8.0.22,group_replication_ip_whitelist弃用,group_replication_ip_allowlist可以替换它。对于两个系统变量,默认值为自动

    在Group Replication启动时,如果其中一个系统变量被设置为用户定义的值,而另一个没有,则使用更改后的值。如果两个系统变量都已设置为用户定义的值,则group_replication_ip_allowlist使用。

    的值group_replication_ip_whitelistgroup_replication_ip_allowlist在运行组复制时(从MySQL 8.0.24可以实现),两个变量都没有优先级。

    新的系统变量与旧的系统变量的工作方式相同,只是术语发生了变化。的行为描述group_replication_ip_allowlist适用于新旧系统变量。

  • group_replication_local_address

    命令行格式 ——group-replication-local-address =值
    系统变量 group_replication_local_address
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 字符串

    此系统变量的值可以在“Group Replication”运行时更改,但只有在组成员上停止并重新启动“Group Replication”后,更改才会生效。

    group_replication_local_address设置成员为来自其他成员的连接提供的网络地址主持人:港口格式化字符串。这个地址必须被组的所有成员所访问,因为它被组通信引擎用于组复制(XCom, Paxos变体)在远程XCom实例之间进行TCP通信。通过使用共享内存的输入通道与本地实例通信。

    警告

    不要使用此地址与成员通信。这不是MySQL服务器SQL协议主机和端口。

    中指定的地址或主机名group_replication_local_address组复制使用该参数作为复制组内组成员的唯一标识。如果复制组的所有成员的主机名或IP地址不相同,则可以使用相同的端口;如果复制组的所有成员的端口不相同,则可以使用相同的主机名或IP地址。的推荐端口group_replication_local_address是33061。方法之前,不会验证为此变量指定的值开始GROUP_REPLICATION声明已发出,团体通讯系统(GCS)已可用。

    配置的网络地址group_replication_local_address必须由所有小组成员解决。例如,如果每个服务器实例都在具有固定网络地址的不同机器上,则可以使用该机器的IP地址,例如10.0.0.1。如果使用主机名,则必须使用完全限定名,并确保它可以通过DNS正确解析设置文件或其他名称解析进程。从MySQL 8.0.14开始,IPv6地址(或解析到IPv6地址的主机名)可以和IPv4地址一样使用。IPv6地址必须用方括号表示,以区分端口号。例如:

    group_replication_local_address = " [2001: db8:85a3:8d3:1319:8a2e 370:7348):: 33061”

    如果指定为服务器实例的组复制本地地址的主机名解析为IPv4地址和IPv6地址,则组复制连接始终使用IPv4地址。有关对IPv6网络的组复制支持以及混合使用IPv4和IPv6的成员的复制组的详细信息,请参见第18.5.5节“支持IPv6和混合IPv6和IPv4组”

    中为每个组成员指定的IP地址权限group_replication_local_address必须添加到group_replication_ip_allowlist(从MySQL 8.0.22)group_replication_ip_whitelist复制组中其他服务器上的系统变量。中列出的组的任何种子成员group_replication_group_seeds选项,如果该成员具有IPv4地址,则使用IPv6地址group_replication_local_address或者相反,您还必须为所需协议(或解析为该协议的地址的主机名)的该成员设置并允许一个可选地址。有关更多信息,请参见第18.6.1节“组复制IP地址权限”

  • group_replication_member_expel_timeout

    命令行格式 ——group-replication-member-expel-timeout = #
    介绍了 8.0.13
    系统变量 group_replication_member_expel_timeout
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 整数
    默认值(≥8.0.21) 5
    默认值(≤8.0.20) 0
    最小值 0
    最大值(≥8.0.14) 3600
    最大值(≤8.0.13) 31536000
    单位

    此系统变量可以在运行组复制时修改,修改后立即生效。每当Group Replication检查超时时,将读取系统变量的当前值。并不是强制要求一个组的所有成员都具有相同的设置,但建议这样做,以避免意外的驱逐。

    group_replication_member_expel_timeout指定Group Replication组成员在创建怀疑后,在将怀疑失败的成员逐出组之前等待的时间(以秒为单位)。在产生怀疑之前的最初5秒检测周期不计入这段时间。直到MySQL 8.0.20,的值group_replication_member_expel_timeout默认为0,表示没有等待期,并且在5秒检测期结束后,可疑成员将立即被开除。从MySQL 8.0.21中,该值默认为5,这意味着在5秒检测周期后5秒,可疑成员将被开除。

    更改的值group_replication_member_expel_timeout对某一群体成员的现有和未来的怀疑立即生效。因此,您可以将此作为一种方法,强制一个可疑成员超时并驱逐一个可疑成员,从而允许更改组配置。有关更多信息,请参见第18.7.6.1节,“驱逐超时”

    增加的价值group_replication_member_expel_timeout在较慢或较不稳定的网络上,或者在预期的短暂网络中断或机器变慢的情况下,可以帮助避免不必要的排除。如果怀疑成员在怀疑超时之前再次激活,它将应用其他组成员缓冲的所有消息并进入在线状态,无需操作员干预。您可以指定一个最大3600秒(1小时)的超时值。重要的是要确保XCom的消息缓存足够大,能够包含指定时间段内预期的消息量,加上初始的5秒检测周期,否则成员无法重新连接。方法可以调整缓存大小限制group_replication_message_cache_size系统变量。有关更多信息,请参见第18.7.5节,“XCom缓存管理”

    如果超过了超时,嫌疑成员将在嫌疑超时后立即被开除。如果成员能够恢复通信并接收到被驱逐的视图,则该成员具有group_replication_autorejoin_tries系统变量设置为指定自动重新加入尝试的次数,它在超级只读模式下继续进行指定次数的尝试重新加入组。如果成员没有指定任何自动重新连接尝试,或者它已经耗尽了指定的尝试次数,那么它将遵循系统变量指定的操作group_replication_exit_state_action

    的详细信息group_replication_member_expel_timeout设置,请参阅第18.7.6.1节,“驱逐超时”.有关避免在此系统变量不可用的情况下不必要排出的替代缓解策略,请参见第18.3.2节“组复制限制”

  • group_replication_member_weight

    命令行格式 ——group-replication-member-weight = #
    系统变量 group_replication_member_weight
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 整数
    默认值 50
    最小值 0
    最大值 One hundred.
    单位 百分比

    此系统变量可以在运行组复制时修改,修改后立即生效。当发生故障转移时,将读取系统变量的当前值。

    group_replication_member_weight指定可分配给成员的百分比权重,以影响在发生故障转移时(例如当现有的主节点离开单一主节点组时)成员被选为主节点的几率。为成员分配数字权重,以确保选定特定的成员,例如在主服务器的计划维护期间,或在发生故障转移时确保某些硬件具有优先级。

    对于成员配置如下的组:

    • 会员1: group_replication_member_weight = 30, server_uuid = aaaa级

    • 二段: group_replication_member_weight = 40, server_uuid = bbbb

    • 会员3: group_replication_member_weight = 40, server_uuid =预备

    • 成员四: group_replication_member_weight = 40, server_uuid = dddd

    在新的初选选举期间,上述成员将被分类为二段会员3成员四,会员1.这将导致成员在发生故障转移时,选择-2作为新的主节点。有关更多信息,请参见第18.1.3.1节“单主模式”

  • group_replication_message_cache_size

    命令行格式 ——group-replication-message-cache-size = #
    介绍了 8.0.16
    系统变量 group_replication_message_cache_size
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 整数
    默认值 1073741824 (1 GB)
    最小值(64位平台,≥8.0.21) 134217728 (128 MB)
    最小值(64位平台,≤8.0.20) 1073741824 (1 GB)
    最小值(32位平台,≥8.0.21) 134217728 (128 MB)
    最小值(32位平台,≤8.0.20) 1073741824 (1 GB)
    最大值(64位平台) 18446744073709551615 (EiB) 16日
    最大值(32位平台) 315360004294967295 (4 GB)
    单位 字节

    这个系统变量在所有组成员上应该具有相同的值。可以在运行组复制时更改此系统变量的值。在停止并重新启动组成员的group Replication后,更改将对每个组成员生效。在此过程中,允许组成员之间的系统变量值不同,但在断开连接的情况下,组成员可能无法重新连接。

    group_replication_message_cache_size为组复制(XCom)设置组通信引擎中可用于消息缓存的最大内存量。XCom消息缓存保存着作为共识协议的一部分在组成员之间交换的消息(及其元数据)。在其他功能中,消息缓存用于恢复成员丢失的消息,这些成员在一段时间无法与其他组成员通信后重新连接到组。

    group_replication_member_expel_timeout系统变量决定了除了最初的5秒检测时间外,允许成员返回群体而不是被驱逐的等待时间(最多1小时)。XCom消息缓存的大小应该参照此时间段内的预期消息量来设置,以便它包含成员成功返回所需的所有遗漏消息。到MySQL 8.0.20,默认的检测周期只有5秒,但从MySQL 8.0.21,默认的是5秒检测周期之后的5秒等待周期,总时间周期为10秒。

    考虑到MySQL Server的其他缓存和对象池的大小,确保您的系统上有足够的内存用于选择缓存大小限制。默认值为1073741824字节(1gb)。最小设置也是1 GB,直到MySQL 8.0.20。从MySQL 8.0.21开始,最小设置为134217728字节(128 MB),这支持在具有有限可用内存和良好网络连接的主机上部署,以最小化组成员的短暂连接丢失的频率和持续时间。注意,限制设置使用group_replication_message_cache_size只适用于存储在高速缓存中的数据,高速缓存结构需要额外的50 MB内存。

    缓存大小限制可以在运行时动态地增加或减少。如果降低缓存大小限制,XCom将删除已决定并交付的最老条目,直到当前大小低于限制。当当前不可达的成员可能需要恢复的消息从消息缓存中删除时,组复制的组通信系统(GCS)通过警告消息向您发出警报。有关调优消息缓存大小的更多信息,请参见第18.7.5节,“XCom缓存管理”

  • group_replication_poll_spin_loops

    命令行格式 ——group-replication-poll-spin-loops = #
    系统变量 group_replication_poll_spin_loops
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 整数
    默认值 0
    最小值 0
    最大值(64位平台) 18446744073709551615
    最大值(32位平台) 4294967295

    此系统变量的值可以在“Group Replication”运行时更改,但只有在组成员上停止并重新启动“Group Replication”后,更改才会生效。

    group_replication_poll_spin_loops指定组通信线程在等待更多传入网络消息之前等待通信引擎互斥锁释放的次数。

  • group_replication_recovery_complete_at

    命令行格式 ——group-replication-recovery-complete-at =值
    系统变量 group_replication_recovery_complete_at
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 枚举
    默认值 TRANSACTIONS_APPLIED
    有效值

    TRANSACTIONS_CERTIFIED

    TRANSACTIONS_APPLIED

    此系统变量的值可以在“Group Replication”运行时更改,但只有在组成员上停止并重新启动“Group Replication”后,更改才会生效。

    group_replication_recovery_complete_at指定在从现有成员传输状态后处理缓存事务时在分布式恢复过程中应用的策略。您可以选择在成员收到并认证其在加入组之前错过的所有交易后,是否对其进行在线标记(TRANSACTIONS_CERTIFIED),或只有在收到、认证和应用它们之后(TRANSACTIONS_APPLIED).

  • group_replication_recovery_compression_algorithms

    命令行格式 ——group-replication-recovery-compression-algorithms =值
    介绍了 8.0.18
    系统变量 group_replication_recovery_compression_algorithms
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型
    默认值 未压缩的
    有效值

    zlib

    zstd

    未压缩的

    此系统变量的值可以在“Group Replication”运行时更改,但只有在组成员上停止并重新启动“Group Replication”后,更改才会生效。

    group_replication_recovery_compression_algorithms指定Group Replication分布式恢复连接所允许的压缩算法,用于从捐赠者的二进制日志传输状态。可用的算法与protocol_compression_algorithms系统变量。有关更多信息,请参见第4.2.8节,“连接压缩控制”

    如果服务器已设置为支持克隆,则此设置不适用(请参阅第18.5.3.2节“为分布式恢复而克隆”),在分布式恢复过程中使用远程克隆操作。对于这种状态传输的方法,克隆插件的clone_enable_compression设置适用。

  • group_replication_recovery_get_public_key

    命令行格式 ——group-replication-recovery-get-public-key[={|在}]
    系统变量 group_replication_recovery_get_public_key
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 布尔
    默认值

    此系统变量的值可以在“Group Replication”运行时更改,但只有在组成员上停止并重新启动“Group Replication”后,更改才会生效。

    group_replication_recovery_get_public_key指定是否向源请求基于RSA密钥对的密码交换所需的公钥。如果group_replication_recovery_public_key_path设置为有效的公钥文件,它是否优先于group_replication_recovery_get_public_key.如果不使用SSL进行分布式恢复,则应用此变量group_replication_recovery通道(group_replication_recovery_use_ssl =对),并且Group replication的复制用户帐户使用caching_sha2_password插件(这是MySQL 8.0的默认)。有关更多细节,请参见第18.6.3.1.1节“使用缓存SHA-2认证插件的复制用户”

  • group_replication_recovery_public_key_path

    命令行格式 ——group-replication-recovery-public-key-path = file_name
    系统变量 group_replication_recovery_public_key_path
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 文件名称
    默认值

    此系统变量的值可以在“Group Replication”运行时更改,但只有在组成员上停止并重新启动“Group Replication”后,更改才会生效。

    group_replication_recovery_public_key_path指定文件的路径名,该文件包含基于RSA密钥对的密码交换源所需的公钥的副本端副本。该文件必须为PEM格式。如果group_replication_recovery_public_key_path设置为有效的公钥文件,它是否优先于group_replication_recovery_get_public_key.如果不使用SSL进行分布式恢复,则应用此变量group_replication_recovery通道(所以group_replication_recovery_use_ssl被设置为),并且Group replication的复制用户帐户使用caching_sha2_password插件(在MySQL 8.0中是默认的)或sha256_password插件。(sha256_password,设置group_replication_recovery_public_key_path仅适用于使用OpenSSL构建的MySQL。)有关更多细节,请参见第18.6.3.1.1节“使用缓存SHA-2认证插件的复制用户”

  • group_replication_recovery_reconnect_interval

    命令行格式 ——group-replication-recovery-reconnect-interval = #
    系统变量 group_replication_recovery_reconnect_interval
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 整数
    默认值 60
    最小值 0
    最大值 31536000
    单位

    此系统变量的值可以在“Group Replication”运行时更改,但只有在组成员上停止并重新启动“Group Replication”后,更改才会生效。

    group_replication_recovery_reconnect_interval指定在组中没有找到适合用于分布式恢复的供体时,重新连接尝试之间的休眠时间(以秒为单位)。

  • group_replication_recovery_retry_count

    命令行格式 ——group-replication-recovery-retry-count = #
    系统变量 group_replication_recovery_retry_count
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 整数
    默认值 10
    最小值 0
    最大值 31536000

    此系统变量的值可以在“Group Replication”运行时更改,但只有在组成员上停止并重新启动“Group Replication”后,更改才会生效。

    group_replication_recovery_retry_count指定要加入的成员在放弃之前尝试连接到可用的捐赠者进行分布式恢复的次数。

  • group_replication_recovery_ssl_ca

    命令行格式 ——group-replication-recovery-ssl-ca =值
    系统变量 group_replication_recovery_ssl_ca
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 字符串

    此系统变量的值可以在“Group Replication”运行时更改,但只有在组成员上停止并重新启动“Group Replication”后,更改才会生效。

    group_replication_recovery_ssl_ca指定文件的路径,该文件包含用于分布式恢复连接的受信任SSL证书颁发机构列表。看到第18.6.2节,“使用安全套接字层(SSL)保护组通信连接”参阅有关配置SSL以进行分布式恢复的信息。

    如果此服务器已设置为支持克隆(请参阅第18.5.3.2节“为分布式恢复而克隆”),你已经设置group_replication_recovery_use_ssl,“组复制”自动配置克隆SSL选项的设置clone_ssl_ca来匹配您的设置group_replication_recovery_ssl_ca

  • group_replication_recovery_ssl_capath

    命令行格式 ——group-replication-recovery-ssl-capath =值
    系统变量 group_replication_recovery_ssl_capath
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 字符串

    此系统变量的值可以在“Group Replication”运行时更改,但只有在组成员上停止并重新启动“Group Replication”后,更改才会生效。

    group_replication_recovery_ssl_capath指定包含分布式恢复连接的受信任SSL证书颁发机构证书的目录的路径。看到第18.6.2节,“使用安全套接字层(SSL)保护组通信连接”参阅有关配置SSL以进行分布式恢复的信息。

  • group_replication_recovery_ssl_cert

    命令行格式 ——group-replication-recovery-ssl-cert =值
    系统变量 group_replication_recovery_ssl_cert
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 字符串

    此系统变量的值可以在“Group Replication”运行时更改,但只有在组成员上停止并重新启动“Group Replication”后,更改才会生效。

    group_replication_recovery_ssl_cert指定用于为分布式恢复建立安全连接的SSL证书文件的名称。看到第18.6.2节,“使用安全套接字层(SSL)保护组通信连接”参阅有关配置SSL以进行分布式恢复的信息。

    如果此服务器已设置为支持克隆(请参阅第18.5.3.2节“为分布式恢复而克隆”),你已经设置group_replication_recovery_use_ssl,“组复制”自动配置克隆SSL选项的设置clone_ssl_cert来匹配您的设置group_replication_recovery_ssl_cert

  • group_replication_recovery_ssl_cipher

    命令行格式 ——group-replication-recovery-ssl-cipher =值
    系统变量 group_replication_recovery_ssl_cipher
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 字符串

    此系统变量的值可以在“Group Replication”运行时更改,但只有在组成员上停止并重新启动“Group Replication”后,更改才会生效。

    group_replication_recovery_ssl_cipher指定SSL加密所允许的密码列表。看到第18.6.2节,“使用安全套接字层(SSL)保护组通信连接”参阅有关配置SSL以进行分布式恢复的信息。

  • group_replication_recovery_ssl_crl

    命令行格式 ——group-replication-recovery-ssl-crl =值
    系统变量 group_replication_recovery_ssl_crl
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 文件名称

    此系统变量的值可以在“Group Replication”运行时更改,但只有在组成员上停止并重新启动“Group Replication”后,更改才会生效。

    group_replication_recovery_ssl_crl指定目录的路径,该目录包含包含证书撤销列表的文件。看到第18.6.2节,“使用安全套接字层(SSL)保护组通信连接”参阅有关配置SSL以进行分布式恢复的信息。

  • group_replication_recovery_ssl_crlpath

    命令行格式 ——group-replication-recovery-ssl-crlpath =值
    系统变量 group_replication_recovery_ssl_crlpath
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 目录名称

    此系统变量的值可以在“Group Replication”运行时更改,但只有在组成员上停止并重新启动“Group Replication”后,更改才会生效。

    group_replication_recovery_ssl_crlpath指定目录的路径,该目录包含包含证书撤销列表的文件。看到第18.6.2节,“使用安全套接字层(SSL)保护组通信连接”参阅有关配置SSL以进行分布式恢复的信息。

  • group_replication_recovery_ssl_key

    命令行格式 ——group-replication-recovery-ssl-key =值
    系统变量 group_replication_recovery_ssl_key
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 字符串

    此系统变量的值可以在“Group Replication”运行时更改,但只有在组成员上停止并重新启动“Group Replication”后,更改才会生效。

    group_replication_recovery_ssl_key指定用于建立安全连接的SSL密钥文件的名称。看到第18.6.2节,“使用安全套接字层(SSL)保护组通信连接”参阅有关配置SSL以进行分布式恢复的信息。

    如果此服务器已设置为支持克隆(请参阅第18.5.3.2节“为分布式恢复而克隆”),你已经设置group_replication_recovery_use_ssl,“组复制”自动配置克隆SSL选项的设置clone_ssl_key来匹配您的设置group_replication_recovery_ssl_key

  • group_replication_recovery_ssl_verify_server_cert

    命令行格式 ——group-replication-recovery-ssl-verify-server-cert[={|在}]
    系统变量 group_replication_recovery_ssl_verify_server_cert
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 布尔
    默认值

    此系统变量的值可以在“Group Replication”运行时更改,但只有在组成员上停止并重新启动“Group Replication”后,更改才会生效。

    group_replication_recovery_ssl_verify_server_cert指定分布式恢复连接是否应该检查提供者发送的证书中服务器的Common Name值。看到第18.6.2节,“使用安全套接字层(SSL)保护组通信连接”参阅有关配置SSL以进行分布式恢复的信息。

  • group_replication_recovery_tls_ciphersuites

    命令行格式 ——group-replication-recovery-tls-ciphersuites =值
    介绍了 8.0.19
    系统变量 group_replication_recovery_tls_ciphersuites
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 字符串
    默认值

    此系统变量的值可以在“Group Replication”运行时更改,但只有在组成员上停止并重新启动“Group Replication”后,更改才会生效。

    group_replication_recovery_tls_ciphersuites指定使用TLSv1.3对分布式恢复连接进行连接加密时允许的一个或多个加密套件的冒号分隔列表,该服务器实例是分布式恢复连接中的客户端,即加入成员。如果此系统变量设置为当使用TLSv1.3(如果不设置系统变量,则为默认值)时,允许缺省启用的密文套件,详见第6.3.2节“加密连接TLS协议和密码”.如果将此系统变量设置为空字符串,则不允许使用密码套件,因此不使用TLSv1.3。这个系统变量从MySQL 8.0.19开始可用。看到第18.6.2节,“使用安全套接字层(SSL)保护组通信连接”参阅有关配置SSL以进行分布式恢复的信息。

  • group_replication_recovery_tls_version

    命令行格式 ——group-replication-recovery-tls-version =值
    介绍了 8.0.19
    系统变量 group_replication_recovery_tls_version
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 字符串
    默认值

    TLSv1、TLSv1.1 TLSv1.2 TLSv1.3(OpenSSL 1.1.1或更高版本)

    TLSv1、TLSv1.1 TLSv1.2(否则)

    此系统变量的值可以在“Group Replication”运行时更改,但只有在组成员上停止并重新启动“Group Replication”后,更改才会生效。

    group_replication_recovery_tls_version当此服务器实例是分布式恢复连接中的客户机(即加入成员)时,指定用于连接加密的一个或多个允许TLS协议的逗号分隔列表。确保指定的版本是连续的(例如,TLSv1、TLSv1.1 TLSv1.2).如果未设置此系统变量,则默认TLSv1、TLSv1.1 TLSv1.2 TLSv1.3使用。每个分布式恢复连接中涉及的组成员作为客户端(加入成员)和服务器(提供者)协商它们都支持的最高协议版本。此系统变量可从MySQL 8.0.19获得。看到第18.6.2节,“使用安全套接字层(SSL)保护组通信连接”参阅有关配置SSL以进行分布式恢复的信息。

  • group_replication_recovery_use_ssl

    命令行格式 ——group-replication-recovery-use-ssl[={|在}]
    系统变量 group_replication_recovery_use_ssl
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 布尔
    默认值

    此系统变量的值可以在“Group Replication”运行时更改,但只有在组成员上停止并重新启动“Group Replication”后,更改才会生效。

    group_replication_recovery_use_ssl指定组成员之间的组复制分布式恢复连接是否使用SSL。看到第18.6.2节,“使用安全套接字层(SSL)保护组通信连接”参阅有关配置SSL以进行分布式恢复的信息。

    如果此服务器已设置为支持克隆(请参阅第18.5.3.2节“为分布式恢复而克隆”),并将此选项设置为,组复制使用SSL进行远程克隆操作,以及从捐赠者的二进制日志进行状态传输。如果您将此选项设置为,组复制不使用SSL进行远程克隆操作。

  • group_replication_recovery_zstd_compression_level

    命令行格式 ——group-replication-recovery-zstd-compression-level = #
    介绍了 8.0.18
    系统变量 group_replication_recovery_zstd_compression_level
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 整数
    默认值 3.
    最小值 1
    最大值 22

    此系统变量的值可以在“Group Replication”运行时更改,但只有在组成员上停止并重新启动“Group Replication”后,更改才会生效。

    group_replication_recovery_zstd_compression_level属性的组复制分布式恢复连接要使用的压缩级别zstd压缩算法。允许的级别从1到22,数值越大表示压缩级别越高。默认的zstd压缩级别为3。对于不使用的分布式恢复连接zstd压缩时,此变量没有效果。

    有关更多信息,请参见第4.2.8节,“连接压缩控制”

  • group_replication_single_primary_mode

    命令行格式 ——group-replication-single-primary-mode[={|在}]
    系统变量 group_replication_single_primary_mode
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 布尔
    默认值

    这个系统变量是组范围的配置设置。它必须在所有组成员上具有相同的值,不能在运行group Replication时更改,并且需要完全重新启动组(由具有group_replication_bootstrap_group =对),以使更改生效。如果组为该系统变量设置了值,而加入成员为该系统变量设置了不同的值,则加入成员不能加入该组,直到将该值更改为匹配。如果组成员为该系统变量设置了值,而加入成员不支持该系统变量,则不能加入组成员。

    从MySQL 8.0.16,您可以使用group_replication_switch_to_single_primary_mode ()而且group_replication_switch_to_multi_primary_mode ()函数在组仍在运行时更改此系统变量的值。有关更多信息,请参见第18.5.1.2节“更改团队模式”

    group_replication_single_primary_mode指示组自动选择一台服务器作为处理读/写工作负载的服务器。这个服务器是主服务器,其他的都是辅助服务器。

  • group_replication_ssl_mode

    命令行格式 ——group-replication-ssl-mode =值
    系统变量 group_replication_ssl_mode
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 枚举
    默认值 禁用
    有效值

    禁用

    要求

    VERIFY_CA

    VERIFY_IDENTITY

    此系统变量的值可以在“Group Replication”运行时更改,但只有在组成员上停止并重新启动“Group Replication”后,更改才会生效。

    group_replication_ssl_mode设置组复制成员间组通信连接的安全状态。取值如下:

    禁用

    建立一个不加密的连接(默认)。

    要求

    如果服务器支持安全连接,请建立安全连接。

    VERIFY_CA

    就像要求,但还要根据配置的证书颁发机构(CA)证书验证服务器TLS证书。

    VERIFY_IDENTITY

    就像VERIFY_CA,但是还要检查服务器证书是否与连接尝试到的主机相匹配。

    看到第18.6.2节,“使用安全套接字层(SSL)保护组通信连接”浏览有关配置SSL以进行组通讯的资料。

  • group_replication_start_on_boot

    命令行格式 ——group-replication-start-on-boot[={|在}]
    系统变量 group_replication_start_on_boot
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 布尔
    默认值

    此系统变量的值可以在“Group Replication”运行时更改,但只有在组成员上停止并重新启动“Group Replication”后,更改才会生效。

    group_replication_start_on_boot指定服务器是否应自动启动组复制()或否()在服务器启动时。当您将此选项设置为,使用远程克隆操作进行分布式恢复后,组复制将自动重启。

    方法在服务器启动期间自动启动组复制,必须将用于分布式恢复的用户凭据存储在服务器上的复制元数据存储库中将复制源更改为|改变主声明。方法上指定用户凭据开始GROUP_REPLICATION语句,该语句只在内存中存储用户凭据,确保group_replication_start_on_boot被设置为

  • group_replication_tls_source

    命令行格式 ——group-replication-tls-source =值
    介绍了 8.0.21
    系统变量 group_replication_tls_source
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 枚举
    默认值 mysql_main
    有效值

    mysql_main

    mysql_admin

    此系统变量的值可以在“Group Replication”运行时更改,但只有在组成员上停止并重新启动“Group Replication”后,更改才会生效。

    group_replication_tls_source指定用于组复制的TLS材料的来源。

  • group_replication_transaction_size_limit

    命令行格式 ——group-replication-transaction-size-limit = #
    系统变量 group_replication_transaction_size_limit
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 整数
    默认值 150000000
    最小值 0
    最大值 2147483647
    单位 字节

    这个系统变量在所有组成员上应该具有相同的值。可以在运行组复制时更改此系统变量的值。更改立即在组成员上生效,并从该成员上启动的下一个事务开始应用。在此过程中,系统变量的值允许在组成员之间有所不同,但有些事务可能会被拒绝。

    group_replication_transaction_size_limit配置复制组可以接受的最大事务大小(以字节为单位)。大于此大小的事务由接收成员回滚,不会广播到组。大型事务可能会在内存分配方面给复制组带来问题(这会导致系统变慢),或者在网络带宽消耗方面给复制组带来问题(网络带宽消耗会导致成员因为忙于处理大型事务而被怀疑失败)。

    当这个系统变量设置为0时,组接受的事务的大小没有限制。从MySQL 8.0开始,这个系统变量的默认设置是150000000字节(大约143 MB)。根据您需要组容忍的最大消息大小来调整此系统变量的值,请记住处理事务所需的时间与其大小成正比。的价值group_replication_transaction_size_limit所有组员都应该是一样的。有关针对大型事务的进一步缓解策略,请参见第18.3.2节“组复制限制”

  • group_replication_unreachable_majority_timeout

    命令行格式 ——group-replication-unreachable-majority-timeout = #
    系统变量 group_replication_unreachable_majority_timeout
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 整数
    默认值 0
    最小值 0
    最大值 31536000
    单位

    此系统变量可以在运行组复制时修改,修改后立即生效。当发生意味着需要该行为的问题时,将读取系统变量的当前值。

    group_replication_unreachable_majority_timeout指定受网络分区影响且无法连接到多数用户的成员在离开组之前等待的秒数。在一组5台服务器(S1,S2,S3,S4,S5)中,如果(S1,S2)和(S3,S4,S5)之间存在断开连接,则存在网络分区。第一个群体(S1,S2)现在是少数,因为它不能接触到超过一半的群体。当大多数组(S3、S4、S5)保持运行时,少数组等待指定的时间重新连接网络。有关此场景的详细描述,请参见第18.5.4节“网络分区”

    默认情况下,group_replication_unreachable_majority_timeout设置为0,这意味着由于网络分区而处于少数的成员将永远等待离开组。如果您设置了一个超时,当指定的时间过去时,少数派处理的所有挂起的事务都将回滚,少数派分区中的服务器将移动到错误状态。如果成员具有group_replication_autorejoin_tries系统变量设置为指定自动重新加入尝试的次数,它在超级只读模式下继续进行指定次数的尝试重新加入组。如果成员没有指定任何自动重新连接尝试,或者它已经耗尽了指定的尝试次数,那么它将遵循系统变量指定的操作group_replication_exit_state_action

    警告

    当您有一个对称组,例如只有两个成员(S0,S2)时,如果存在一个网络分区且没有多数,在配置的超时后,所有成员进入错误状态。

    有关使用此选项的更多信息,请参见第18.7.6.2节,“不可达多数超时”

  • group_replication_view_change_uuid

    命令行格式 ——group-replication-view-change-uuid =值
    介绍了 8.0.26
    系统变量 group_replication_view_change_uuid
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 字符串
    默认值 自动

    这个系统变量是组范围的配置设置。它必须在所有组成员上具有相同的值,不能在运行group Replication时更改,并且需要完全重新启动组(由具有group_replication_bootstrap_group =对),以使更改生效。如果组为该系统变量设置了值,而加入成员为该系统变量设置了不同的值,则加入成员不能加入该组,直到将该值更改为匹配。如果组成员为该系统变量设置了值,而加入成员不支持该系统变量,则不能加入组成员。

    group_replication_view_change_uuid指定一个替代UUID,用于组生成的视图更改事件的gtid标识符的UUID部分。替代UUID使这些内部生成的事务与组从客户端接收的事务容易区分。如果您的设置允许组之间的故障转移,并且您需要识别和丢弃特定于备份组的事务,那么这将非常有用。该系统变量的默认值为自动方法指定的组名,这意味着视图更改事件的gtid使用group_replication_group_name系统变量,如来自客户端的事务。版本中没有此系统变量的组成员被视为具有该值自动

    方法指定的组名不能相同group_replication_group_name系统变量,且不能与任何组成员的服务器UUID相同。它还必须不同于gtid中使用的任何uuid, gtid应用于此拓扑中任何位置的复制通道上的匿名事务ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS选择的将复制源更改为声明。

组复制状态变量

介绍组复制的状态变量信息。变量的含义如下: