1、Percona XtraDB Cluster相關概念及原理:node
一、Percona XtraDB Cluster簡介:mysql
Percona XtraDB Cluster是基於Galera協議的MySQL高可用集羣架構。Galera是Codership提供的多主數據同步複製機制,具備高可用性,方便擴展,能夠實現多個MySQL節點間的數據同步複製以及讀寫,而且可保障數據庫的服務高可用及數據一致性。基於Galera的高可用方案主要有MariaDB Galera Cluster和Percona XtraDB Cluster(簡稱PXC)。PXC屬於一套近乎完美的MySQL高可用集羣解決方案,相比那些傳統的基於主從複製模型的集羣架構MHA和MM+Keepalived,Galera Cluster最突出的特色就是解決了詬病已久的數據複製延遲問題,基本上能夠達到實時同步,並且節點與節點之間,它們相互的關係是對等的。自己Galera Cluster也是一種多主架構,以下圖所示:sql
要搭建PXC架構至少須要3個MySQL實例來組成一個集羣,3個實例之間不是主從模式,而是各自爲主,因此三者是對等關係,不分從屬,這就叫multi-master架構。客戶端寫入和讀取數據時,鏈接哪一個實例都是同樣的,讀取到的數據也都是相同的,寫入任意一個實例以後,集羣自身會將新寫入的數據同步到其它實例上,這種架構不共享任何數據,是一種高冗餘架構。數據庫
二、PXC原理:bootstrap
PXC最常使用以下4個端口號:vim
(1)3306:數據庫對外服務的端口號緩存
(2)4444:請求SST的端口號安全
(3)4567:組成員之間進行溝通的端口號服務器
(4)4568:用於傳輸IST的端口號架構
備註:
Ø SST:State Snapshot Transfer,全量數據傳輸
Ø IST:Incremental State Transfer,增量數據傳輸
從上圖中能夠看出PXC的操做流程,首先客戶端發起一個事務,該事務先在本地執行,執行完成後發起對事務的提交操做。在提交以前須要將產生的複製寫集廣播出去,而後獲取到一個全局的事務ID號,一併傳送到另外一節點上。經過驗證合併數據以後,發現沒有衝突數據,執行apply_cb和commit_cb操做,不然就須要取消(discard)這次事務的操做。而當前server節點經過驗證以後,執行提交操做,並返回OK,若是驗證沒經過,則執行回滾。固然在生產中至少要有三個節點的集羣環境,若是其中有一個節點沒有驗證經過,出現了數據衝突,那麼此時採起的方式就是將出現不一致的節點踢出集羣環境,並且它本身會執行shutdown命令,自動關機。
三、PXC架構的優缺點:
(1)優勢:
a、實現MySQL集羣架構的高可用性和數據強一致性
b、實現真正的多節點讀寫集羣方案
c、改善了傳統意義上的主從複製延遲問題,基本上達到了實時同步
d、新加入的節點能夠自動部署,無需提供手動備份,維護方便
e、多節點寫入,數據庫故障切換容易
(2)缺點:
a、只支持InnoDB引擎,其它存儲引擎的更改不復制,DDL語句在statement級別被複制,而且對mysql.*表的更改會基於此被複制,例如:CREATE USER...語句會被複制,但INSERT INTO mysql.user...語句則不會被複制,可經過wsrep_replicate_myisam參數開啓MyISAM存儲引擎的複製,但這只是一個實驗性的參數
b、新加入節點採用SST時的代價高
c、存在寫擴大問題
d、任何更新事務都須要全局驗證經過,纔會在每一個節點庫上執行,集羣性能/吞吐量受限於性能最差的節點,也就是常常說的短板效應
e、因爲須要保證數據的一致性,因此在多節點併發寫時,鎖衝突及死鎖問題比較嚴重
f、全部表必須含有主鍵
g、不支持LOCK TABLE等顯式表級別的鎖定操做
h、不支持XA
四、PXC中涉及到的重要概念和核心參數:
(1)集羣中節點的數量:整個集羣中節點數量應該控制在最少3個、最多8個的範圍內。最少3個節點是爲了防止出現腦裂現象,由於只有在2個節點下才會出現此現象。腦裂現象的標誌就是輸入任何命令,返回的結果都是unknown command。節點在集羣中,會因新節點的加入或故障、同步失效等緣由發生狀態的切換。
(2)節點狀態的變化階段:
a、open:節點啓動成功,嘗試鏈接到集羣時的狀態
b、primary:節點已處於集羣中,在新節點加入並選取donor進行數據同步時的狀態
c、joiner:節點處於等待接收同步文件時的狀態
d、joined:節點完成數據同步工做,嘗試保持和集羣進度一致時的狀態
e、synced:節點正常提供服務時的狀態,表示已經同步完成並和集羣進度保持一致
f、donor:節點處於爲新加入的節點提供全量數據時的狀態
備註:donor節點就是數據的貢獻者,若是一個新節點加入集羣,此時又須要大量數據的SST數據傳輸,就有可能所以而拖垮整個集羣的性能,因此在生產環境中,若是數據量較小,還可使用SST全量數據傳輸,但若是數據量很大就不建議使用這種方式,能夠考慮先創建主從關係,而後再加入集羣。
(3)節點的數據傳輸方式:一種叫SST全量數據傳輸,另外一種叫IST增量數據傳輸。SST數據傳輸有xtrabackup、mysqldump和rsync三種方式,而增量數據傳輸就只有一種方式xtrabackup,但生產環境中通常數據量較小時,可使用SST全量數據傳輸,但也只使用xtrabackup方法。
(4)GCache模塊:在PXC中一個特別重要的模塊,它的核心功能就是爲每一個節點緩存當前最新的寫集。若是有新節點加入進來,就能夠把新數據的增量傳遞給新節點,而不須要再使用SST傳輸方式,這樣可讓節點更快地加入集羣中,涉及以下參數:
a、gcache.size:緩存寫集增量信息的大小,它的默認大小是128MB,經過wsrep_provider_options參數設置,建議調整爲2GB~4GB範圍,足夠的空間便於緩存更多的增量信息。
b、gcache.mem_size:GCache中內存緩存的大小,適度調大能夠提升整個集羣的性能
c、gcache.page_size:若是內存不夠用(GCache不足),就直接將寫集寫入磁盤文件中
2、準備工做(如無特殊說明,3個節點都須要執行以下操做):
一、演示環境:
IP |
操做系統 |
主機名 |
角色 |
數據庫版本 |
安裝方式 |
192.168.1.143 |
CentOS 7.6 x86_64 |
node1 |
master1 |
5.7.25-28-57-log Percona XtraDB Cluster |
yum |
192.168.1.144 |
CentOS 7.6 x86_64 |
node2 |
master2 |
5.7.25-28-57-log Percona XtraDB Cluster |
yum |
192.168.1.145 |
CentOS 7.6 x86_64 |
node3 |
master3 |
5.7.25-28-57-log Percona XtraDB Cluster |
yum |
二、關閉SELinux和firewalld
三、配置epel源
四、配置服務器時間同步
五、配置主機名
六、配置/etc/hosts文件:
# vim /etc/hosts
192.168.1.143 node1
192.168.1.144 node2
192.168.1.145 node3
3、yum方式安裝配置PXC(如無特殊說明,3個節點都須要執行以下操做):
一、安裝percona yum源:# yum -y install https://repo.percona.com/yum/percona-release-latest.noarch.rpm
二、測試percona yum源:# yum list | grep -i percona
三、安裝PXC:# yum -y install Percona-XtraDB-Cluster-57
備註:安裝後生成的比較重要的配置文件
Ø /etc/percona-xtradb-cluster.conf.d/mysqld.cnf
Ø /etc/percona-xtradb-cluster.conf.d/mysqld_safe.cnf
Ø /etc/percona-xtradb-cluster.conf.d/wsrep.cnf
四、建立軟連接:
# mv /etc/my.cnf /etc/my.cnf.bak
# update-alternatives --install /etc/my.cnf my.cnf "/etc/percona-xtradb-cluster.cnf" 200
五、master1節點修改mysqld.cnf配置文件:
# vim /etc/percona-xtradb-cluster.conf.d/mysqld.cnf
[mysqld]
server-id=1
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
log_bin=mysql-bin
log_bin_index=mysql-bin.index
log_slave_updates
expire_logs_days=7
symbolic-links=0
port=3306
lower_case_table_names=1
character_set_server=utf8mb4
collation_server=utf8mb4_general_ci
innodb_file_per_table=1
skip_name_resolve=1
slow_query_log=1
slow_query_log_file=mysql-slow.log
備註:
Ø master2節點中的server-id=2,master3節點中的server-id=3
Ø 儘管Galera Cluster再也不須要經過binlog的形式進行同步,但仍是建議在配置文件中開啓二進制日誌功能,緣由是後期若是有新節點須要加入,老節點經過SST全量傳輸的方式向新節點傳輸數據,極可能會拖垮集羣性能,因此讓新節點先經過binlog方式完成同步後再加入集羣會是一種更好的選擇
六、master1節點修改wsrep.cnf配置文件:
# vim /etc/percona-xtradb-cluster.conf.d/wsrep.cnf
[mysqld]
wsrep_provider=/usr/lib64/galera3/libgalera_smm.so
wsrep_provider_options="gcache.size=2G"
wsrep_cluster_address="gcomm://192.168.1.143,192.168.1.144,192.168.1.145"
binlog_format=ROW
default_storage_engine=InnoDB
wsrep_slave_threads=8
wsrep_log_conflicts
innodb_autoinc_lock_mode=2
wsrep_node_address=192.168.1.143
wsrep_cluster_name=pxc-cluster
wsrep_node_name=node1
pxc_strict_mode=ENFORCING
wsrep_sst_method=xtrabackup-v2
wsrep_sst_auth="sstuser:s3cretPass"
經常使用配置參數說明:
(1)wsrep_provider:Galera庫的路徑和文件名
(2)wsrep_provider_options:Galera庫的額外參數
(3)wsrep_cluster_address:集羣中各節點IP
(4)binlog_format:二進制日誌的記錄格式
(5)default_storage_engine:默認使用的存儲引擎
(6)wsrep_slave_threads:使用的從屬線程個數
(7)wsrep_node_address:本節點IP
(8)wsrep_cluster_name:集羣名稱
(9)wsrep_node_name:本節點在集羣中的名稱
(10)wsrep_sst_method:SST傳輸數據的方式,有xtrabackup、mysqldump和rsync三種,前二者在傳輸時都須要對donor加全局只讀鎖(FLUSH TABLES WITH READ LOCK),而xtrabackup則不須要(它使用percona本身提供的backup lock),強烈推薦使用xtrabackup-v2方式
(11)wsrep_sst_auth:在SST傳輸時須要使用的認證憑據,格式爲「用戶:密碼」
備註:
Ø master2節點中的wsrep_node_address=192.168.1.144,wsrep_node_name=node2
Ø master3節點中的wsrep_node_address=192.168.1.145,wsrep_node_name=node3
七、初始化MySQL數據:# mysqld --initialize --user=mysql
備註:確保初始化前/var/lib/mysql目錄爲空,初始化完成後會在此目錄中生成各種文件
八、master1節點啓動MySQL服務:
# systemctl start mysql@bootstrap.service
# ss -tunlp | grep mysqld
# systemctl enable mysql@bootstrap.service
# systemctl status mysql@bootstrap.service
# tail -100 /var/log/mysqld.log
九、master1節點配置MySQL安全向導:
# grep "password" /var/log/mysqld.log --> sIw4lWaqXy+X
# mysql_secure_installation
十、master1節點受權root用戶遠程登陸和建立PXC傳輸用戶sstuser:
# mysql -uroot -p
mysql> create user 'root'@'192.168.1.%' identified by '123456';
mysql> grant all on *.* to 'root'@'192.168.1.%';
mysql> flush privileges;
mysql> create user 'sstuser'@'localhost' identified by 's3cretPass';
mysql> grant reload, lock tables, process, replication client on *.* to 'sstuser'@'localhost';
mysql> flush privileges;
備註:以後的MySQL版本將不支持grant受權的同時建立用戶,而是須要先建立用戶,再進行受權
十一、master2和master3節點分別啓動MySQL服務:
# systemctl start mysql.service
# ss -tunlp | grep mysqld
# systemctl enable mysql.service
# systemctl status mysql.service
# tail -100 /var/log/mysqld.log
備註:master2和master3節點無需分別配置MySQL安全向導,也無需分別受權root用戶遠程登陸,已從master1節點處同步
十二、查看PXC集羣狀態:
mysql> show global status like 'wsrep%';
經常使用PXC集羣狀態監控指標說明:
(1)wsrep_local_state_uuid:與wsrep_cluster_state_uuid的值一致,且全部節點該值都相同
(2)wsrep_cluster_state_uuid:全部節點該值都相同,若是有不一樣值的節點,說明該節點沒有與集羣創建鏈接
(3)wsrep_last_committed:集羣已經提交事務的數量,是一個累計值,全部節點該值都相同,若是出現不一致,說明事務有延遲,能夠用來計算延
(4)wsrep_replicated:從本節點複製出去的寫集數量,wsrep_replicated_bytes爲寫集的總字節數,能夠用於參考節點間的負載均衡是否平衡,該值較大的節點較爲繁忙
(5)wsrep_received:與wsrep_replicated對應,本節點接收來自其它節點的寫集數量
(6)wsrep_local_state:全部節點該值都應該爲4,表示正常,節點狀態有以下6個取值
a、取值1:節點啓動並與集羣創建鏈接
b、取值2:當節點成功執行狀態傳輸請求時,該節點開始緩存寫集
c、取值3:節點接收了SST全量數據傳輸,該節點如今擁有全部集羣數據,並開始應用已緩存的寫集
d、取值4:節點完成與集羣數據的同步,它的從屬隊列如今是空的,並啓用流控使其保持爲空
e、取值5:節點接收了狀態傳輸請求,該節點如今對donor不執行流控,該節點已緩存全部的寫集但沒法應用
f、取值6:節點完成對joiner節點的狀態傳輸
(7)wsrep_incoming_addresses:集羣中全部節點的IP,且每一個節點該值都相同
(8)wsrep_cluster_size:集羣中的節點數量,全部節點該值都相同
(9)wsrep_cluster_conf_id:全部節點該值都相同,若是值不一樣,說明該節點被臨時「分區」了
(10)wsrep_cluster_status:集羣組成的狀態,全部節點該值都爲「Primary」,若是該值不爲「Primary」,說明該節點出現「分區」或「腦裂」現象
(11)wsrep_connected:全部節點該值都爲「ON」,表示本節點已經與集羣創建鏈接
(12)wsrep_ready:全部節點該值都爲「ON」,表示本節點能夠正常提供服務
4、測試PXC:
一、master1節點建立測試數據:
mysql> create database db;
mysql> use db;
mysql> create table tb(id int unsigned auto_increment primary key not null,name char(20) not null);
mysql> desc tb;
mysql> insert into tb(name) values('zhangsan'),('lisi');
mysql> select * from tb;
二、master2和master3節點分別查看測試數據:
mysql> show databases;
mysql> use db;
mysql> show tables;
mysql> desc tb;
mysql> select * from tb;
三、master2節點建立測試數據:
mysql> insert into tb(name) values('wangwu'),('zhaoliu');
mysql> select * from tb;
四、master1和master3節點分別查看測試數據:
mysql> select * from tb;
五、master3節點建立測試數據:
mysql> insert into tb(name) values('jack'),('tom');
mysql> select * from tb;
六、master1和master2節點分別查看測試數據:
mysql> select * from tb;
5、模擬新節點加入PXC:
將一個新節點加入PXC集羣,須要SST全量數據傳輸,頗有可能拖垮集羣總體性能,能夠考慮讓新節點先成爲PXC集羣中某個節點(此處以master2節點爲例)的從節點,而後在線快速經過IST方式加入集羣。
一、演示環境:
IP |
操做系統 |
主機名 |
角色 |
數據庫版本 |
安裝方式 |
192.168.1.143 |
CentOS 7.6 x86_64 |
node1 |
master1 |
5.7.25-28-57-log Percona XtraDB Cluster |
yum |
192.168.1.144 |
CentOS 7.6 x86_64 |
node2 |
master2 |
5.7.25-28-57-log Percona XtraDB Cluster |
yum |
192.168.1.145 |
CentOS 7.6 x86_64 |
node3 |
master3 |
5.7.25-28-57-log Percona XtraDB Cluster |
yum |
192.168.1.146 |
CentOS 7.6 x86_64 |
node4 |
slave |
5.7.25-28-57-log Percona XtraDB Cluster |
yum |
二、slave節點關閉SELinux和firewalld、配置epel源、配置服務器時間同步、配置主機名
三、四個節點配置/etc/hosts文件:
# vim /etc/hosts
192.168.1.143 node1
192.168.1.144 node2
192.168.1.145 node3
192.168.1.146 node4
四、slave節點安裝percona yum源:# yum -y install https://repo.percona.com/yum/percona-release-latest.noarch.rpm
五、slave節點安裝PXC:# yum -y install Percona-XtraDB-Cluster-57
六、slave節點建立軟連接:
# mv /etc/my.cnf /etc/my.cnf.bak
# update-alternatives --install /etc/my.cnf my.cnf "/etc/percona-xtradb-cluster.cnf" 200
七、slave節點修改mysqld.cnf配置文件:
# vim /etc/percona-xtradb-cluster.conf.d/mysqld.cnf
[mysqld]
server-id=4
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
log_bin=mysql-bin
log_bin_index=mysql-bin.index
log_slave_updates
expire_logs_days=7
symbolic-links=0
port=3306
lower_case_table_names=1
character_set_server=utf8mb4
collation_server=utf8mb4_general_ci
innodb_file_per_table=1
skip_name_resolve=1
slow_query_log=1
slow_query_log_file=mysql-slow.log
relay_log=relay-log
relay_log_index=relay-log.index
read_only=1
八、slave節點暫時不啓用PXC的相關配置:# cd /etc/percona-xtradb-cluster.conf.d # mv wsrep.cnf wsrep.cnf.bak
九、slave節點初始化MySQL數據:# mysqld --initialize --user=mysql
十、slave節點啓動MySQL服務:
# systemctl start mysql.service
# ss -tunlp | grep mysqld
# systemctl enable mysql.service
# systemctl status mysql.service
# tail -100 /var/log/mysqld.log
十一、slave節點配置MySQL安全向導:
# grep "password" /var/log/mysqld.log --> 7gk0ti?jf*(M
# mysql_secure_installation
十二、slave節點受權root用戶遠程登陸:
# mysql -uroot -p
mysql> create user 'root'@'192.168.1.%' identified by '123456';
mysql> grant all on *.* to 'root'@'192.168.1.%';
mysql> flush privileges;
1三、master2節點建立具備複製權限的用戶repluser:
mysql> create user 'repluser'@'192.168.1.%' identified by '123456';
mysql> grant replication slave on *.* to 'repluser'@'192.168.1.%';
mysql> flush privileges;
1四、master2節點使用mysqldump對全部數據庫進行全量熱備,並將導出的sql文件複製至slave節點:
# mkdir -pv /backup
# mysqldump -E -F -R -q --single-transaction --master-data=2 -A -uroot -p > /backup/all_`date +%F`.sql
# less /backup/all_2019-06-06.sql,找到已被註釋的CHANGE MASTER TO語句:
-- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000002', MASTER_LOG_POS=154;
# scp -p /backup/all_2019-06-06.sql node4:/backup/
1五、slave節點還原數據:
mysql> show variables like 'sql_log_bin';
mysql> set sql_log_bin=0;
mysql> source /backup/all_2019-06-06.sql
mysql> set sql_log_bin=1;
1六、slave節點使用具備複製權限的用戶鏈接至master2:
mysql> change master to master_host='192.168.1.144',master_user='repluser',master_password='123456',master_port=3306,master_log_file='mysql-bin.000002',master_log_pos=154;
mysql> start slave;
mysql> show slave status\G
1七、slave節點中止MySQL服務:
# systemctl stop mysql.service
# ss -tunlp | grep mysqld
# systemctl status mysql.service
# tail -100 /var/log/mysqld.log
1八、slave節點註釋/etc/percona-xtradb-cluster.conf.d/mysqld.cnf的[mysqld]配置段中read_only=1選項
1九、slave節點啓用PXC的相關配置:# cd /etc/percona-xtradb-cluster.conf.d # mv wsrep.cnf.bak wsrep.cnf
20、slave節點修改wsrep.cnf配置文件:
# vim /etc/percona-xtradb-cluster.conf.d/wsrep.cnf
[mysqld]
wsrep_provider=/usr/lib64/galera3/libgalera_smm.so
wsrep_provider_options="gcache.size=2G"
wsrep_cluster_address="gcomm://192.168.1.143,192.168.1.144,192.168.1.145,192.168.1.146"
binlog_format=ROW
default_storage_engine=InnoDB
wsrep_slave_threads=8
wsrep_log_conflicts
innodb_autoinc_lock_mode=2
wsrep_node_address=192.168.1.146
wsrep_cluster_name=pxc-cluster
wsrep_node_name=node4
pxc_strict_mode=ENFORCING
wsrep_sst_method=xtrabackup-v2
wsrep_sst_auth="sstuser:s3cretPass"
2一、master2節點確認PXC須要同步的位置:# mysqlbinlog /var/lib/mysql/mysql-bin.000001 | grep Xid
備註:master2節點在使用mysqldump對全部數據庫進行全量熱備時使用了「-F」選項,備份時會自動滾動二進制日誌,因此此處命令中使用的二進制日誌爲mysql-bin.000001,Xid的值爲最新的18
2二、master2節點查看grastate.dat文件的內容,並將grastate.dat文件複製至slave節點的對應目錄下:
# cat /var/lib/mysql/grastate.dat
備註:
Ø uuid:集羣中wsrep_cluster_state_uuid的值
Ø seqno:集羣中swrep_last_committed的值,根據此值能夠直接判斷下次節點啓動時作增量傳輸的位置,目前master2節點處於正常運行的狀態,因此值爲-1
# scp -p /var/lib/mysql/grastate.dat node4:/var/lib/mysql/
2三、slave節點修改grastate.dat文件的屬主屬組爲mysql用戶:# chown mysql.mysql /var/lib/mysql/grastate.dat
2四、slave節點設置同步開始位置:# vim /var/lib/mysql/grastate.dat
備註:修改seqno的值,將seqno: -1修改成剛纔獲取的position 1967對應Xid的值18,這就是PXC同步開始的位置
2五、slave節點啓動MySQL服務:
# systemctl start mysql.service
# ss -tunlp | grep mysqld
# systemctl status mysql.service
# tail -100 /var/log/mysqld.log
2六、slave節點中止主從複製:
mysql> stop slave;
2七、查看PXC集羣狀態:
mysql> show global status like 'wsrep%';
(1)wsrep_local_state_uuid:與wsrep_cluster_state_uuid的值一致,且全部節點該值都相同
(2)wsrep_cluster_state_uuid:全部節點該值都相同
(3)wsrep_last_committed:全部節點該值都相同
(4)wsrep_local_state:全部節點該值都應該爲4,表示正常
(5)wsrep_incoming_addresses:集羣中全部節點的IP(192.168.1.143~146),且每一個節點該值都相同
(6)wsrep_cluster_size:集羣中的節點數量,全部節點該值都相同
(7)wsrep_cluster_conf_id:全部節點該值都相同
(8)wsrep_cluster_status:集羣組成的狀態,全部節點該值都爲「Primary」
(9)wsrep_connected:全部節點該值都爲「ON」,表示本節點已經與集羣創建鏈接
(10)wsrep_ready:全部節點該值都爲「ON」,表示本節點能夠正常提供服務
2八、新集羣中不管哪一個節點寫入數據,都會複製給其它三個節點
6、模擬PXC中某個節點故障並恢復:
一、master3節點中止MySQL服務:
# systemctl stop mysql.service
# ss -tunlp | grep mysqld
# systemctl status mysql.service
# tail -100 /var/log/mysqld.log
二、查看PXC集羣狀態:
mysql> show global status like 'wsrep%';
(1)wsrep_incoming_addresses:目前集羣中全部節點的IP(143、144、146),且每一個節點該值都相同
(2)wsrep_cluster_size:集羣中的節點數量(3),全部節點該值都相同
三、集羣剩餘節點中不管哪一個節點寫入數據,都會複製給其它兩個節點
四、master3節點修改wsrep.cnf配置文件:
# vim /etc/percona-xtradb-cluster.conf.d/wsrep.cnf
[mysqld]
wsrep_cluster_address="gcomm://192.168.1.143,192.168.1.144,192.168.1.145,192.168.1.146"
五、master3節點啓動MySQL服務:
# systemctl start mysql.service
# ss -tunlp | grep mysqld
# systemctl status mysql.service
# tail -100 /var/log/mysqld.log
六、查看PXC集羣狀態:
mysql> show global status like 'wsrep%';
備註:集羣已恢復正常
七、宕機時在其它可用節點中寫入的數據,已複製給master3節點