MGR参数中文说明

本文详细解释了MySQL Group Replication的各项参数,包括事务哈希算法、依赖跟踪、组名、成员地址、种子成员列表、启动设置、单主模式、一致性检查、权重配置、故障恢复策略、流控模式及阈值、网络分区处理等,旨在帮助读者深入理解组复制的配置与运作机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MGR参数说明

transaction_write_set_extraction=XXHASH64

定义用于生成哈希的算法,该哈希标识与事务关联的写入。如果使用组复制,则哈希值用于分布式冲突检测和处理。在运行组复制的64位系统上,建议将其设置为XXHASH64,以避免不必要的哈希冲突,从而导致证书失败和用户事务回滚。

binlog_transaction_dependency_tracking=WRITESET

主服务器用来确定哪些事务可以由从服务器的多线程应用程序并行执行的依赖信息源。

loose-group_replication_group_name="aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"

此服务器实例所属的组的名称。必须是有效的UUID。在为二进制日志中的组复制事件设置gtid时,在内部使用此UUID。

loose-group_replication_local_address= "10.0.2.5/6/7:33081"

成员为来自其他成员的连接提供的网络地址,指定为host:port格式的字符串。此地址必须可由组的所有成员访问,因为组通信引擎用于在远程XCom实例之间进行TCP通信的组复制(XCom,Paxos变体)。其他组复制成员通过此主机:端口与此成员联系以进行所有内部组通信。组复制使用在组复制本地地址中指定的地址或主机名作为复制组内组成员的唯一标识符。

loose-group_replication_group_seeds= "10.0.2.5:33081,10.0.2.6:33081,10.0.2.7:33081"

一个组成员的列表,它提供一个成员,该成员将组与加入成员所需的数据连接起来,以便与组同步。该列表由指定为逗号分隔列表的种子成员的网络地址组成,例如host1:port1、host2:port2。请注意,在发出START GROUP U REPLICATION语句并且组通信系统(GCS)可用之前,不会验证为此变量指定的值。通常此列表由组的所有成员组成,但您可以选择组成员的子集作为种子。列表必须至少包含一个有效的成员地址。启动组复制时验证每个地址。如果列表不包含任何有效的主机名,则发出START GRou复制失败。

loose-group_replication_start_on_boot=OFF

服务器是否应在服务器启动期间启动组复制。

loose-group_replication_bootstrap_group=OFF

配置此服务器以引导组。此选项只能在一台服务器上设置,并且只能在首次启动组或重新启动整个组时设置。启动组后,将此选项设置为禁用。它应该设置为动态关闭和在配置文件中关闭。在组运行时启动两台服务器或使用此选项集重新启动一台服务器可能会导致人工拆分大脑的情况,其中两个同名的独立组将被引导。

loose-group_replication_single_primary_mode=ON

指示组自动选择单个服务器作为处理读/写工作负载的服务器。此服务器是主服务器,其他所有服务器都是辅助服务器。此系统变量是组范围的配置设置。它必须在所有组成员上具有相同的值,在组复制运行时无法更改,并且需要完全重新启动组(由具有组复制的服务器启动)才能使值更改生效。

loose-group_replication_enforce_update_everywhere_checks=OFF

对所有位置的多个主更新启用或禁用严格的一致性检查。默认设置是禁用检查。在单一主模式下,必须对所有组成员禁用此选项。在多主模式下,应启用此选项。此系统变量是组范围的配置设置。它必须在所有组成员上具有相同的值,在组复制运行时无法更改,并且需要完全重新启动组(由具有组复制的服务器启动)才能使值更改生效。

loose-group_replication_member_weight=50

可以分配给成员以影响成员在故障转移时被选为主要成员的可能性的百分比权重,例如,当现有主要成员离开单个主要组时。为成员分配数字权重以确保选定特定成员,例如在主成员的计划维护期间,或确保在故障转移时对某些硬件进行优先级排序。

loose-group_replication_recovery_retry_count=10

正在加入的成员在放弃前尝试连接到可用捐助者的次数。

loose-group_replication_recovery_reconnect_interval=60

当在组中找不到供者时,重新连接尝试之间的睡眠时间(秒)。

loose-group_replication_flow_control_mode=DISABLED

指定用于流控制的模式。可以在不重置组复制的情况下更改此变量。

loose-group_replication_flow_control_applier_threshold

指定触发流控制的applier队列中等待的事务数。此变量可以在不重置组复制的情况下更改。

loose-group_replication_flow_control_certifier_threshold

指定触发流控制的证书颁发器队列中等待的事务数。此变量可以在不重置组复制的情况下更改。

loose-group_replication_unreachable_majority_timeout=10

配置遭受网络分区且无法连接到大多数的成员在离开组之前等待的时间。

在一组5个服务器(S1、S2、S3、S4、S5)中,如果(S1、S2)和(S3、S4、S5)之间存在断开连接,则存在网络分区。第一组(S1,S2)现在是少数,因为它不能接触超过一半的人。当多数组(S3、S4、S5)保持运行时,少数组等待指定的时间进行网络重新连接。在使用少数组成员上的停止组复制停止组复制之前,少数组处理的任何事务都将被阻止。

默认情况下,此系统变量设置为0,这意味着由于网络分区而处于少数的成员将永远等待离开组。如果配置为秒数,则成员在与大多数成员失去联系后等待此时间量,然后再离开组。指定的时间过后,少数群体处理的所有挂起事务都将回滚,少数群体分区中的服务器将移动到错误状态。然后,这些服务器执行由系统变量group_replication_exit_state_操作指定的操作,该操作可以将它们自己设置为超级只读模式或关闭MySQL。

loose-group_replication_exit_state_action=READ_ONLY

配置当服务器实例无意中离开组时(例如在遇到applier错误后),或在失去多数的情况下,或当组的另一个成员由于怀疑超时而将其排除时,组复制的行为方式。成员在失去多数的情况下离开组的超时时间由group U replication U unreachable U MALIST U timeout系统变量设置。请注意,被驱逐的组成员在重新连接到组之前不知道已被驱逐,因此只有在该成员设法重新连接,或者该成员对自己产生怀疑并驱逐自己时,才会执行指定的操作。

当group_replication_exit_state_action设置为ABORT_SERVER时,如果成员无意退出组,则实例关闭MySQL。

当group_replication_exit_state_action设置为READ_ONLY时,如果成员无意退出组,实例将MySQL切换到超级只读模式(通过将系统变量super_read_only设置为ON)。打开)。

loose-group_replication_compression_threshold=1000000

强制(LZ4)压缩的字节值。设置为零时,取消压缩。组复制压缩阈值的值应在所有组成员上相同。

loose-group_replication_transaction_size_limit=134217728

配置复制组接受的最大事务大小(字节)。大于此大小的事务将由接收成员回滚,并且不会向组广播。大型事务可能会导致复制组在内存分配方面出现问题,这可能会导致系统速度减慢,或者在网络带宽消耗方面出现问题,这可能会导致成员因忙于处理大型事务而被怀疑失败。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值