Percona XtraDB Cluster(PXC)
---服務安裝篇
1、測試環境搭建:
| Ip |
角色 |
OS |
PXC-version |
| 172.16.40.201 |
Node1 |
Redhat/Centos 6/7 |
5.7.23 |
| 172.16.40.202 |
Node2 |
Redhat/Centos 6/7 |
5.7.23 |
| 172.16.40.203 |
Node3 |
5.7.23 |
5.7.23 |
2、安裝
2.1安裝方式
測試環境選擇二進制安裝,生產環境選擇編譯安裝方式以達到性能最佳
2.2版本選擇

2.3官網下載地址
https://www.percona.com/software/mysql-database/percona-xtradb-cluster
2.4 二進制安裝包安裝
上傳mysql二進制包3個結點的/usr/local/src下

注意:每個節點需要安裝好 xtrbackup,cocat
# yum 安裝/二進制包安裝/rpm
1、解壓到/usr/local/下(3個節點執行相同操作步驟)
# mv Percona-Server-5.7.23-24-Linux.x86_64.ssl101 /usr/local/mysql-5.7.23-ps
#創建軟連接
# cd /usr/local/
# ln -s mysql-5.7.23-ps mysql
# chown root.mysql mysql-5.7.23-ps -R
#添加環境變量 到文件 /etc/profile
export MYSQL_HOME=/usr/local/mysql
export PATH=$MYSQL_HOME/bin:$PATH
# source /etc/profile
# mysql --version

#創建myslq data/logs目錄
# mkdir -p /home/mysql/app/pxc-mysql/6066/{data,logs,etc}
# mkdir -p /home/mysql/app/pxc-mysql/6066/logs/binlog
# chmod 750 /home/mysql/app/pxc-mysql/ -R
# chown mysql.mysql /home/mysql/app/pxc-mysql/ -R
# 配置啟動文件
# cp support-files/mysql.server /etc/init.d/mysqld-6066
# chmod +x /etc/init.d/mysqld-6066
# chkconfig --add mysqld-6066
# chkconfig --level 35 on mysqld-6066
#修改端口
# vim /etc/init.d/mysqld-6066
#修改
2、初始化實例(3台執行相同操作)
上傳擱置的my.cnf 到 /home/mysql/app/pxc-mysql/6066/etc目錄下
注意權限,屬組/主
# 初始化配置參數
# cd /usr/local/mysql
# ./bin/mysqld --defaults-file=/home/mysql/app/pxc-mysql/6066/etc/my.cnf --initialize-insecure --user=mysql
# bin/mysql_ssl_rsa_setup --datadir=/home/mysql/app/pxc-mysql/6066/data/
3、201節點上啟動mysql
# /etc/init.d/mysqld start
# ln -sf /home/mysql/app/pxc-mysql/6066/etc/mysql-6066.sock /tmp/6066.sock
注:當node1啟動的時候,它會先嘗試加入一個已存在的集群,但是現在集群並不存在,pxc必須從0開始,所以node1的啟動必須加上命令--wsrep-new-cluster,用於新建一個新的集群。node1正常啟動之后,其他的node就可以使用平時的啟動方式,它們都會自動連接上primary node】
4、設置密碼
# mysql -p -S /tmp/6066.sock
mysql>SET PASSWORD = PASSWORD('mysqladmin');
mysql>flush privileges;
mysql>show status like 'wsrep_local_state%';
mysql>show status like 'wsrep_cluster_%';

5、主節點添加賬號:
grant usage on *.* to 'pxc-monitor'@'172.16.40.%' identified by 'pxc-monitor';
grant all privileges on *.* to pxcsst@'%' identified by 'password';
6、啟動202節點:
步驟參考2、3點
注意:
啟動node2節點數據庫,先將my.cnf的wsrep_sst_method參數值設置為rsync,完成節點加入后,可以設置回xtrabackup-v2,重啟數據庫,避免報錯)
WSREP: gcs/src/gcs_group.cpp:gcs_group_handle_join_msg():741: 0.0 (pxc-node201): State transfer to abort.
# service mysqld start
# mysql -S /tmp/6066.sock -p
7、3個節點全部啟動后查看狀態

注意:
過程中會可能出現各種錯誤、建議集群節點啟動報錯的時候,將三台的錯誤日志全部一起查看,觀察節點啟動過程中,三台節點的狀態變化,注意 err 報文,在根據提示對應查找解決辦法。
附錄:
1、socat 安裝:
#下載二進制包解壓
# tar zxvf socat-2.0.0-b9.tar.gz
# ./configure
# make
# make install
# ln -s /usr/local/bin/socat /usr/bin

2、xtrabackup-2.4.12 包安裝
# 下載二進制安裝包並解壓
# tar zxvf percona-xtrabackup-2.4.12-Linux-x86_64.libgcrypt145.tar.gz
# mv percona-xtrabackup-2.4.12-Linux-x86_64 /usr/local/xtrabackup-2.4.12
# ln -sf /usr/local/xtrabackup-2.4.12/bin/* /usr/bin/

