wsrep配置一览

 

之前的配置文件是刚开始测试所必须的最简版。这里我汇总整理了所有的可配置项,供你上生产运营环境的时候,增加相关配置。

wsrep_auto_increment_control

如果设置为1(默认值),将根据集群的大小以及集群大小的变化自动调整auto_increment_increment和auto_increment_offset变量。 这样可以避免由于auto_increment而引起的复制冲突。 在主从环境中,可以设置为OFF。

wsrep_causal_reads

如果设置为ON(默认为OFF),则在整个集群中强制执行读取提交的特征。 如果主设备比从设备更快地应用事件,则两者可能会短暂地不同步。 在将此变量设置为ON的情况下,从站将等待事件应用,然后再处理其他查询。 设置为ON也将导致更大的读取延迟。

wsrep_certification_rules

说明:要在集群中使用的认证规则。 可能的值为:
strict:可能会导致更多认证失败的更严格的规则。 例如,对于外键,如果不同的节点大约在同一时间收到指向父表中同一行的无冲突插入,则可能导致认证失败
optimized:宽松的规则,允许更多的并发性,并减少更少的认证失败。

wsrep_certify_nonPK

说明:设置为“开”(默认值)时,将自动为没有一个表的表生成主键。 这对于并行应用是必需的,强烈建议对所有表使用。

wsrep_cluster_address

说明:启动时要连接的群集节点的地址,例如gcomm://192.168.0.1:1234?gmcast.listen_addr = 0.0.0.0:2345。 优良作法是以gcomm:// <node1或ip:port>,<node2或ip2:port>,<node3或ip3:port>的形式指定所有可能的群集节点。 指定一个空ip(gcomm://)将导致该节点启动新群集(不应在my.cnf文件中完成此操作,因为每次重新启动后,服务器将不会重新加入当前群集)。 在某些配置中,可以在运行时更改该变量,这将导致节点关闭与任何当前群集的连接,并连接至新地址。 如果指定端口,请注意这是Galera端口,而不是MariaDB端口。

wsrep_cluster_name

描述:集群的名称。 节点无法连接到名称不同的集群,因此在同一集群中的所有节点上都必须相同。

wsrep_convert_LOCK_to_trx

说明:将LOCK / UNLOCK TABLES语句转换为BEGIN和COMMIT。 主要用于使较旧的应用程序与多主机设置一起使用,请谨慎使用,因为这可能会导致极大的写入集。

wsrep_data_home_dir

说明:wsrep提供程序将在其中存储其内部文件的目录。

wsrep_dbug_option

说明:用于将DBUG选项传递给wsrep提供程序。

wsrep_debug

说明:当设置为ON(默认为OFF)时,调试消息也将记录到错误日志中。

wsrep_desync

描述:当节点接收到的写集超出其可应用的数量时,事务将放入接收的队列中。 如果节点的接收队列等待应用的写入集过多(如gcs.fc_limit WSREP提供程序选项所定义),则该节点通常将使用Flow Control。 但是,当此选项设置为ON时,将为取消同步的节点禁用Flow Control。 取消同步的节点将一直处理接收到的队列,直到达到可管理的大小为止。 已取消同步的节点继续从群集中的其他节点接收写集。 群集中的其他节点不等待不同步的节点赶上,因此,不同步的节点可能甚至落在群集中的其他节点之后。 您可以通过检查wsrep_local_state_comment状态变量是否等于Donor / Desynced来检查节点是否被取消同步。

wsrep_dirty_reads

说明:默认情况下,当不与组同步时(wsrep_ready = OFF),节点将拒绝除SET和SHOW之外的所有查询。 如果wsrep_dirty_reads设置为1,则该节点将接受不更改数据的查询,例如SELECT查询(脏读),创建prepare语句等。

wsrep_drupal_282555_workaround

说明:如果设置为ON,则启用Drupal / MySQL / InnoDB错误#282555的解决方法。 这是一个错误,在某些情况下,将DEFAULT值插入到AUTO_INCREMENT列中时,可能会返回重复的键错误。

wsrep_forced_binlog_format

说明:一种二进制日志格式,它将覆盖所有会话二进制日志格式设置。

wsrep_gtid_domain_id

说明:此系统变量定义用于wsrep GTID模式的GTID域ID。
当wsrep_gtid_mode设置为ON时,所有Galera Cluster写集都将使用wsrep_gtid_domain_id代替gtid_domain_id。
当wsrep_gtid_mode设置为OFF时,将忽略wsrep_gtid_domain_id,以实现向后兼容。
为了使此模式生成一致的GTID,还需要满足一些其他要求。

wsrep_gtid_mode

说明:Wsrep GTID模式尝试使所有群集节点上的Galera Cluster写入集的GTID保持一致。 在SST期间,GTID状态最初会复制到联接节点。 如果您打算将Galera Cluster与MariaDB复制一起使用,则wsrep GTID模式可能会有所帮助。
当wsrep_gtid_mode设置为ON时,所有Galera Cluster写集都将使用wsrep_gtid_domain_id代替gtid_domain_id。
当wsrep_gtid_mode设置为OFF时,将忽略wsrep_gtid_domain_id,以实现向后兼容。
为了使此模式生成一致的GTID,还需要满足一些其他要求。

wsrep_gtid_seq_no

说明:内部服务器使用情况,手动设置WSREP GTID seqno。

wsrep_ignore_apply_errors

说明:如果设置,将忽略复制错误。

wsrep_load_data_splitting

说明:如果设置为ON(MariaDB 10.4.2和更低版本的默认设置),则LOAD DATA INFILE通过引入事务拆分来支持大数据文件。 该设置已在Galera 4中弃用,并且从MariaDB 10.4.3默认为OFF。

wsrep_log_conflicts

说明:如果设置为ON(默认为OFF),则会记录群集中发生冲突的MDL以及InnoDB锁的详细信息。

wsrep_max_ws_rows

说明:每个写入集允许的最大行数。 在MariaDB Galera 10.0.27和MariaDB 10.1.17之前,此变量在内部被忽略,并且对节点没有影响。 从MariaDB Galera 10.0.27和MariaDB 10.1.17起,已添加了对此变量的支持,并且为了向后兼容,默认值已更改为0,这实际上允许写集为任意大小。

wsrep_max_ws_size

说明:每个写入集允许的最大大小(以字节为单位)。 超出此限制的Writeset将被拒绝。 请注意,MariaDB 10.1.17和MariaDB Galera 10.0.27以及之前的版本允许将最大值设置为2GB以上,这被Galera拒绝。

wsrep_mysql_replication_bundle

说明:确定分组在一起的复制事件的数量。 实验实现旨在在单个从站面临大量提交时间延迟时帮助解决瓶颈问题。 如果设置为0(默认值),则没有分组。

wsrep_node_address

说明:指定节点的网络地址,格式为ip address [:port]。 从MariaDB 10.1.8开始,支持IPv6。 节点的默认行为是拉取系统上第一个网络接口的地址和默认的Galera端口。 这种自动猜测可能不可靠,尤其是在以下情况下:
云部署
容器部署
具有多个网络接口的服务器。
运行多个节点的服务器。
网络地址转换(NAT)。
节点在多个区域中的群集。

wsrep_node_incoming_address

说明:这是节点用来侦听客户端连接的地址。 如果未指定地址或将其设置为AUTO(默认),则mysqld使用–bind-address或–wsrep-node-address,或尝试以相同顺序从可用网络接口列表中获取一个地址。

wsrep_node_name

描述:此节点的名称。 此名称可以在wsrep_sst_donor中用作首选供体。 请注意,群集中的多个节点可以具有相同的名称。

wsrep_notify_cmd

说明:每次节点状态或集群成员资格更改时要执行的命令。 可用于发出警报,配置负载均衡器等。 有关更多详细信息,请参见编码通知脚本页面。

wsrep_on

说明:是否启用wsrep复制。 如果全局值设置为OFF(MariaDB 10.1以来的默认值),则无法加载提供程序并加入集群中的节点。 如果仅将会话值设置为OFF,则该特定会话的操作不会在群集中复制,但其他会话和应用程序线程将照常继续。 变量的会话值不会影响节点的成员身份,因此,无论其值如何,节点都会不断从群集中的其他节点接收更新。 在MariaDB 10.1之前,即使该变量默认情况下为ON,其值也会根据是否已指定强制配置以打开Galera复制而自动调整。 从MariaDB 10.1开始,默认情况下将其设置为OFF,并且必须启用它才能启用Galera复制。

wsrep_OSU_method

说明:在线模式升级方法。 默认值为TOI,指定不带可选参数的设置将设置为RSU。
TOI:总订单隔离。 在每个群集节点中,对于其他事务,将以相同的顺序处理DDL,从而确保数据的一致性。 但是,数据库的受影响部分将为整个群集锁定。
RSU:滚动架构升级。 DDL处理仅在节点上本地完成,用户需要在每个节点上手动执行更改。 在进行处理以避免阻塞其他节点的同时,该节点与群集的其余部分不同步。 模式更改必须以与基于ROW的复制相同的方式向后兼容,以避免在单个节点上完成DDL处理并重新开始复制时中断复制。

wsrep_patch_version

说明:Wsrep修补程序版本,例如wsrep_25.10。

wsrep_provider

描述:wsrep库的位置,通常在Debian和Ubuntu上为/usr/lib/libgalera_smm.so,在Red Hat / CentOS上通常为/usr/lib64/libgalera_smm.so。

wsrep_provider_options

说明:用分号(;)分隔的wsrep选项列表。

wsrep_recover

说明:如果在服务器启动时将其设置为ON,则服务器将恢复Galera应用的最新写入集的序列号,并将其输出到stderr,通常将其重定向到错误日志。 此时,服务器将退出。 可以将此序列号提供给wsrep_start_position系统变量。

wsrep_reject_queries

说明:设置为拒绝来自客户端连接的查询的变量,对维护很有用。 该节点继续应用写集,但是客户端查询生成错误1047:未知命令错误。
NONE-未设置。 查询将照常处理。
ALL-来自客户端连接的所有查询将被拒绝,但现有的客户端连接将保留。
ALL_KILL来自客户端连接的所有查询将被拒绝,现有的客户端连接(包括当前的客户端连接)将被立即终止。

wsrep_replicate_myisam

说明:是否将复制MyISAM表的DML更新。 此功能仍处于试验阶段,不应在生产系统中使用。

wsrep_restart_slave

说明:如果设置为ON,则当节点重新加入群集时,复制从属会自动重新启动。

wsrep_retry_autocommit

说明:在将错误返回给客户端之前,由于群集范围内的冲突而导致重试自动提交的查询的次数。 如果设置为0,将不尝试重试,而值1(默认值)或更大将指定尝试的重试次数。 有助于使用自动提交来避免死锁的应用程序。

wsrep_slave_FK_checks

说明:如果设置为ON(默认值),则应用程序从属线程执行外键约束检查。

wsrep_slave_threads

说明:用于并行应用Galera写集的从属线程数。 Galera从属线程能够确定可以安全并行应用哪些写集。 但是,如果您的群集节点似乎经常出现一致性问题,那么将该值设置为1可能会解决此问题。 有关更多信息,请参见关于Galera复制:Galera从属线程。

wsrep_slave_UK_checks

说明:如果设置为ON,则应用程序从属线程执行辅助索引唯一性检查。

wsrep_sr_store

说明:用于流式复制片段的存储。

wsrep_sst_auth

描述:用于复制的用户名和密码。 如果wsrep_sst_method设置为rsync,则未使用,而对于其他方法,它的格式应为:。 内容在日志中以及使用SHOW VARIABLES查询值时被屏蔽。

wsrep_sst_donor

说明:以逗号分隔的列表(从5.5.33起)或作为捐赠者的服务器名称(按照wsrep_node_name)或状态转移的源(按优先顺序排列)。通常,施主选择算法更喜欢一个施主,该施主只能将丢失的事务(IST)转移到合并节点,而不是完整状态(SST)。因此,它首先在给定的施主列表中寻找一个具有IST功能的节点,然后是集群中的其余节点。如果在指定的施主列表之外找到多个候选节点,则首选与连接器位于同一段(gmcast.segment)中的节点。如果集群中的现有节点都无法通过IST服务丢失的事务,则该算法会继续寻找合适的节点以传输整个状态(SST)。首先查看供体列表中指定的节点(不考虑其段)。如果仍然找不到合适的施主,则仅在施主列表具有“终止逗号”的情况下,检查其余施主节点的适用性。请注意,无状态节点(Galera仲裁器)永远不能成为施主。

wsrep_sst_donor_rejects_queries

说明:如果设置为ON(默认为OFF),施主节点将拒绝传入的查询,并返回UNKNOWN COMMAND错误代码。 可以用于通知负载均衡器节点不可用。

wsrep_sst_method

说明:用于进行状态快照传输(SST)的方法

wsrep_sst_receive_address

说明:这是群集中其他节点(供体)连接以发送状态转移更新的地址。 如果未指定地址或将其设置为AUTO(默认),则mysqld使用–wsrep_node_address的值作为接收地址。 但是,如果未设置–wsrep_node_address,它将使用–bind-address中的地址,或尝试以相同顺序从可用网络接口列表中获取一个地址。 注意:将其设置为localhost将使在其他主机上运行的节点无法到达该节点。

wsrep_start_position

说明:节点应使用的起始位置,格式为:UUID:seq_no。 可以使用wsrep_recover恢复用于该位置的正确值。

wsrep_strict_ddl

说明:如果设置,则拒绝不支持Galera复制的受影响表上的DDL。

wsrep_sync_wait

说明:设置此变量可确保在执行由值指定的类型的操作之前进行因果关系检查,以确保在完全同步的节点上执行该语句。进行检查时,将在节点上阻止新查询,以使服务器能够赶上群集中进行的所有更新,直到检查开始为止。到达后,将在节点上执行原始查询。这会导致更高的延迟。请注意,当wsrep_dirty_reads设置为ON时,wsrep_sync_wait的值将变得无关紧要。样本用法(对于必须具有最新数据的关键读取)SET SESSION wsrep_sync_wait = 1;选择 …; SET SESSION wsrep_sync_wait = 0;
0-禁用(默认)
1-读取(选择和开始/开始事务)。直到MariaDB 10.2.8,MariaDB 10.1.26,MariaDB Galera 10.0.31和MariaDB Galera 5.5.56(也显示)。这与wsrep_causal_reads = 1相同。
2-更新和删除;
3-读取,更新和删除;
4-插入和更换;
5-读取,插入和替换;
6-更新,删除,插入和替换;
7-读取,更新,删除,插入和替换;
8-显示(来自MariaDB 10.2.9,MariaDB 10.1.27,MariaDB Galera 10.0.32,MariaDB Galera 5.5.57)
9-读取和显示(来自MariaDB 10.2.9,MariaDB 10.1.27,MariaDB Galera 10.0.32,MariaDB Galera 5.5.57)
10-更新,删除和显示(来自MariaDB 10.2.9,MariaDB 10.1.27,MariaDB Galera 10.0.32,MariaDB Galera 5.5.57)
11-读取,更新,删除和显示(来自MariaDB 10.2.9,MariaDB 10.1.27,MariaDB Galera 10.0.32,MariaDB Galera 5.5.57)
12-插入,替换和显示(来自MariaDB 10.2.9,MariaDB 10.1.27,MariaDB Galera 10.0.32,MariaDB Galera 5.5.57)
13-读取,插入,替换和显示(来自MariaDB 10.2.9,MariaDB 10.1.27,MariaDB Galera 10.0.32,MariaDB Galera 5.5.57)
14-更新,删除,插入,替换和显示(来自MariaDB 10.2.9,MariaDB 10.1.27,MariaDB Galera 10.0.32,MariaDB Galera 5.5.57)
15-读取,更新,删除,插入,替换和显示(来自MariaDB 10.2.9,MariaDB 10.1.27,MariaDB Galera 10.0.32,MariaDB Galera 5.5.57)

wsrep_trx_fragment_size

描述:用于流复制的事务片段的大小(以wsrep_trx_fragment_unit指定的单位度量)

wsrep_trx_fragment_unit

说明:流复制事务片段大小的单位:
字节:交易的Binlog事件缓冲区大小(以字节为单位)
行:受事务影响的行数
语句:在多语句事务中执行的SQL语句数

 

 

参考:https://blog.csdn.net/weixin_43750212/article/details/104821335

 

posted @ 2020-12-16 21:42  钟桂耀  阅读(4049)  评论(0编辑  收藏  举报