超詳細,多圖文使用galera cluster搭建mysql集羣並介紹wsrep相關參數

超詳細,多圖文使用galera cluster搭建mysql集羣並介紹wsrep相關參數

介紹galera cluster原理的文章已經有一大堆了,百度幾篇看一看就能有相關了解,這裏就不贅述了。本文主要側重實操,由於跟着百度前幾頁的搭建教程或多或少都有坑,先後配置邏輯矛盾的也有。終於,通過幾個通宵的bug修復,反覆驗證,力求以最簡潔的代碼,最少的操做量,最直白的邏輯來完成集羣的搭建。由於操做過程當中,網上對wsrep相關參數的介紹少之又少,因此最後特別寫了完整版的參數說明,供搭建成功後,各類測試調試使用,對於這些參數有坑的地方,歡迎在底下留言,供你們參考,謝謝。html

對於mysql的集羣方案,我以前總結過,詳情點擊查看,多圖文,詳細介紹mysql各個集羣方案node

一,需求瞭解

Galera Cluster須要至少三個節點的服務器硬件。mysql

若是羣集在單個交換機上運行,請使用三個節點。若是您的羣集跨越多個交換機,請使用三個交換機。若是您的羣集跨越網絡,請使用三個網絡。若是您的羣集跨越數據中心,請使用三個數據中心。這樣能夠確保在網絡中斷的狀況下,羣集能夠維護主組件。linux

1,硬體需求

對於服務器硬件,每一個節點至少須要如下組件:算法

  • 1 GHz單核CPU;
  • 512 MB RAM;
  • 100 Mbps網絡鏈接;

注意:Galera Cluster可能會因爲內存不足而在有限的硬件上運行時偶爾崩潰。爲避免這種狀況,請確保分配了足夠的交換空間。sql

2,軟件需求

對於軟件,羣集中的每一個節點至少須要如下條件:shell

  • 已安裝Linux或FreeBSD操做系統;
  • 帶有wsrep API補丁的MySQL或MariaDB服務器,已安裝Galera複製插件。

注意:Galera Cluster的二進制安裝軟件包包括帶有wsrep API補丁的數據庫服務器。可是,從源構建時,必須手動應用此修補程序。數據庫

二,準備服務器

在開始安裝過程以前,須要完成一些任務覺得Galera Cluster準備服務器。您必須在集羣中的每一個節點上執行如下步驟。bootstrap

1,配置SELinux

若是在服務器上啓用了SELinux(加強安全性的Linux),則它可能會阻止mysqld執行所需的操做。您必須對SELinux禁用mysqld或對其進行配置,以容許mysqld運行外部程序並在非特權端口上打開偵聽套接字,即非特權用戶能夠執行的操做。在這裏我看了看它的狀態 cat /etc/selinux/config,而後就直接把它給禁用了。centos

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
setenforce 0

若服務器必需要啓用SELinux,請查閱selinux和mysql

2,配置防火牆

接下來須要更新每一個節點上的防火牆設置,以便它們能夠與羣集通訊。具體執行方式取決於您的發行版和所使用的特定防火牆軟件。在這裏我看了看防火牆狀態 firewall-cmd --state ,就直接把它關閉了。

systemctl stop firewalld.service
systemctl disable firewalld.service

有關爲Galera Cluster設置防火牆以及其餘用於在Linux和FreeBSD中配置數據包過濾的程序的詳細信息,請參閱防火牆設置

3,禁用AppArmor

默認狀況下,某些服務器(例如Ubuntu)包括AppArmor,這可能會阻止mysqld打開其餘端口或運行腳本。 您必須禁用AppArmor或對其進行配置,以容許mysqld運行外部程序並在非特權端口上打開偵聽套接字。在這裏我就禁用AppArmor了。

ln -s /etc/apparmor.d/usr /etc/apparmor.d/disable/.sbin.mysqld

輸入效果以下所示,由於我是centos,不是Ubuntu的,因此禁用APPArmor是不須要的操做,這裏只是爲了演示。

lgx_211

三,安裝Galera羣集

1,依賴包準備

安裝過程十有八九會報錯,會提示依賴檢測失敗,請按照提示,下載相關依賴。這是我依據下面的安裝順序進行安裝而報錯,我爲此逐個而安裝的依賴。個人centos是剛安裝的最簡版,因此缺不少東西,你能夠先把如下這些依賴安裝完,再安裝mysql cluster相關的。

yum -y install lsof net-tools perl socat openssl openssl-devel boost-devel

有個安裝的文件和系統現有的有衝突,致使安裝失敗,卸載掉這個mariadb。

rpm -qa| grep mariadb
rpm -e --nodeps mariadb-libs-5.5.64-1.el7.x86_64

修改配置文件的時候,還有幾個依賴包是被須要的,提早下載好

rpm -ivh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum -y install rsync jemalloc
2,下載、安裝

Galera Cluster由兩部分組成:Galera複製庫(galera-3)和使用寫集複製(WSREP)API擴展的MySQL版本(mysql-wsrep)。

若因軟件版本變化,致使沒法下載,或者你不是centos系統,請自行訪問http://releases.galeracluster.com,找到能夠下載的對應的版本。

強烈建議安裝順序按照下面所示,逐個來,由於後面的安裝須要依賴前面的安裝。

wget http://releases.galeracluster.com/galera-3/centos/7/x86_64/galera-3-25.3.29-1.el7.x86_64.rpm
wget http://releases.galeracluster.com/mysql-wsrep-5.7/centos/7/x86_64/mysql-wsrep-5.7-5.7.29-25.21.el7.x86_64.rpm
wget http://releases.galeracluster.com/mysql-wsrep-5.7/centos/7/x86_64/mysql-wsrep-client-5.7-5.7.29-25.21.el7.x86_64.rpm
wget http://releases.galeracluster.com/mysql-wsrep-5.7/centos/7/x86_64/mysql-wsrep-common-5.7-5.7.29-25.21.el7.x86_64.rpm
wget http://releases.galeracluster.com/mysql-wsrep-5.7/centos/7/x86_64/mysql-wsrep-devel-5.7-5.7.29-25.21.el7.x86_64.rpm
wget http://releases.galeracluster.com/mysql-wsrep-5.7/centos/7/x86_64/mysql-wsrep-libs-5.7-5.7.29-25.21.el7.x86_64.rpm
wget http://releases.galeracluster.com/mysql-wsrep-5.7/centos/7/x86_64/mysql-wsrep-libs-compat-5.7-5.7.29-25.21.el7.x86_64.rpm
wget http://releases.galeracluster.com/mysql-wsrep-5.7/centos/7/x86_64/mysql-wsrep-server-5.7-5.7.29-25.21.el7.x86_64.rpm

rpm -ivh mysql-wsrep-common-5.7-5.7.29-25.21.el7.x86_64.rpm
rpm -ivh mysql-wsrep-libs-5.7-5.7.29-25.21.el7.x86_64.rpm
rpm -ivh mysql-wsrep-client-5.7-5.7.29-25.21.el7.x86_64.rpm
rpm -ivh mysql-wsrep-libs-compat-5.7-5.7.29-25.21.el7.x86_64.rpm
rpm -ivh mysql-wsrep-server-5.7-5.7.29-25.21.el7.x86_64.rpm
rpm -ivh mysql-wsrep-5.7-5.7.29-25.21.el7.x86_64.rpm
rpm -ivh mysql-wsrep-devel-5.7-5.7.29-25.21.el7.x86_64.rpm
rpm -ivh galera-3-25.3.29-1.el7.x86_64.rpm

最終效果以下所示

lgx_211

3,修改配置
vi /etc/my.cnf

打開配置文件,按 i 進入編輯模式,增長如下配置信息。

wsrep-provider=/usr/lib64/galera-3/libgalera_smm.so   # wsrep提供者,個人是在這個目錄下

wsrep_cluster_name='mysql_cluster'  #集羣的名字,必須是統一的
wsrep_cluster_address=gcomm://192.168.119.128,192.168.119.129,192.168.119.130  #集羣中的其餘節點地址

wsrep_node_name = node1              #該節點的名稱
wsrep_node_address='192.168.119.128' #該節點的地址

wsrep_sst_method=rsync    # 集羣使用rsync同步方式
wsrep_sst_auth=lgx:666666 # 集羣同步的用戶名密碼

完成以上修改,Esc退出編輯模式,輸入:wq 保存並退出。 相似一樣的操做操做再來兩次。最終效果以下所示

lgx_211
注意:每一個節點的 server-id,wsrep_node_name,wsrep_node_address 是不同的。

4,啓動第一個節點

啓動第一個節點之前,其節點的配置文件裏面,不能配置其它節點的ip,即 wsrep_cluster_address=gcomm:// 這樣就好了,不然會致使啓動報錯。待集羣啓動後,再修改它的配置文件,把其餘節點的ip補充上去。

啓動第一個節點,該命令會啓動本機的 mysqld 服務,命令只在集羣第一個節點啓動時使用,由於該腳本中帶有一個參數:–wsrep-new-cluster,表明新建集羣。

/usr/bin/mysqld_bootstrap

查看mysqld服務狀態,判斷是否成功啓動,並建立了新集羣。

systemctl status mysqld

效果圖以下所示

lgx_211

5,啓動其它節點

逐個啓動其它節點的服務,並查看是否啓動成功。

systemctl start mysqld

systemctl status mysqld

能夠看到,節點已經啓動。

lgx_211

6,集羣驗證

由於數據庫剛剛初始化,超級用戶root是沒有密碼的,系統會給幾個臨時的root密碼。再修改root密碼時,須要你用其中一個臨時密碼確認一下,即紅框所示。新輸入的密碼若不夠複雜,會被安全緣由拒絕生效。

grep -i 'temporary password' /var/log/mysqld.log

mysqladmin -u root -p 'LGX_211_lgx'

lgx_211

如今用剛剛設置的root密碼,來登陸某一臺主機上的mysql,看看當前節點的數據庫狀態,再來看看集羣的情況。

mysql -u root -p

show status like 'wsrep_local_state_comment';

show status like 'wsrep_cluster_size';

由紅框能夠看出,當前的節點是正常提供服務的狀態,且與集羣數據狀態是一致的。由籃框可知,當前集羣一共有三個節點。

lgx_211

Open:節點啓動成功,嘗試鏈接到集羣

Primary: 節點已處於集羣中,在新節點加入時,選取donor進行數據庫同步時會產生的狀態
Joiner: 節點處於等待接收或正在接收同步文件的狀態
Joined: 節點完成數據同步,但還有部分數據不是最新的,在追趕與集羣數據一致的狀態
Synced: 節點正常提供服務的狀態,表示當前節點數據狀態與集羣數據狀態是一致的
Donor: 表示該節點被選爲Donor節點,正在爲新加進來的節點進行全量數據同步,此時該節點對客戶端不提供服務

7,數據複製驗證

在節點1, mysql -u root -p 登陸mysql,建立數據庫,並建表,填充數據。

create database test;
use test;
create table t1(a int);
insert into t1 values(1);

以下所示

lgx_211
在節點2,也建一個表,填充數據。

use test;
create table t2(a int);
insert into t2 values(2);

同理,在節點3,也建一個表,填充數據。

use test;
create table t3(a int);
insert into t3 values(3);

而後,隨機選一個節點,來查詢剛剛輸入的信息。

select t1.a,t2.a,t3.a from test.t1,test.t2,test.t3;

效果以下所示,在任一一個節點上能夠查出剛剛在三個節點上輸入的信息。

lgx_211
8,其它測試

單個節點掛掉不影響其它節點正常對外的讀寫操做。

增長節點,個人電腦已經沒有條件在裝一臺虛擬機了。

四,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,則未使用,而對於其餘方法,它的格式應爲<user>:<password>。 內容在日誌中以及使用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語句數

相關文章
相關標籤/搜索