1. 程式人生 > >Percona XtraDB Cluster Installation Guide

Percona XtraDB Cluster Installation Guide

code sha rep set expire service cati str ads

Percona XtraDB Cluster(簡稱PXC)集群是基於Galera,事務型應用下的通用的多主同步復制插件,主要用於解決強一致性問題,使得各個節點之間的數據保持實時同步以及實現多節點同時讀寫。提高了數據庫的可靠性,也可以實現讀寫分離,是MySQL關系型數據庫中大家公認的集群優選方案之一。

1、安裝PXC軟件包

這裏使用的是官方最新的軟件包Percona XtraDB Cluster 5.7.22-29.26,對應的操作系統是Oracle Linux 7.5。主機列表如下表所示:
技術分享圖片
在各個節點分別使用yum進行安裝,如下:

[root@mydb03 ~]# yum -y install Percona-XtraDB-Cluster-57
[root@mydb04 ~]# yum -y install Percona-XtraDB-Cluster-57
[root@mydb05 ~]# yum -y install Percona-XtraDB-Cluster-57

安裝完成後,分別啟動各個節點的MySQL服務,更改root@localhost的密碼,更改完成後再關閉MySQL服務。以mydb03作為示例,如下:

[root@mydb03 ~]# grep ‘temporary password‘ /var/log/mysqld.log
[root@mydb03 ~]# mysql -uroot -p
mysql> alter user root@localhost identified by “abcABC@12”;
mysql> flush privileges;

2、編輯PXC配置文件

編輯/etc/percona-xtradb-cluster.conf.d/mysqld.cnf文件,修改或者加入如下內容:

#mydb03對應1,mydb04對應2,mydb05對應3
server-id=1     
expire_logs_days=1
log_timestamps=system
collation-server=utf8_general_ci
character-set-server = utf8

編輯/etc/percona-xtradb-cluster.conf.d/wsrep.cnf文件,修改以下內容:

[mysqld]
wsrep_provider=/usr/lib64/galera3/libgalera_smm.so
#加入各個節點的IP
wsrep_cluster_address=gcomm://192.168.120.129,192.168.120.130,192.168.120.131
binlog_format=ROW
default_storage_engine=InnoDB
wsrep_slave_threads= 8
wsrep_log_conflicts
innodb_autoinc_lock_mode=2
#節點主機名,其他節點需要更改
wsrep_node_name=mydb03
#節點IP,其他節點需要更改
wsrep_node_address=192.168.120.129
#集群名稱
wsrep_cluster_name=pxc-cluster
pxc_strict_mode=ENFORCING
wsrep_sst_method=xtrabackup-v2
#sstuser用戶的密碼任意設置
wsrep_sst_auth="sstuser:passw0rd"

3、啟動PXC集群服務

首先在mydb03上啟動PXC集群服務,其它節點後續再加進來即可。

[root@mydb03 ~]# systemctl start [email protected]
[root@mydb03 ~]# mysql -uroot -p
mysql> show status like ‘wsrep%‘;

技術分享圖片
創建配置文件裏定義的sstuser用戶(只在第一個啟動的節點執行,其他節點啟動後會自行同步)。

mysql> CREATE USER ‘sstuser‘@‘localhost‘ IDENTIFIED BY ‘passw0rd‘;
mysql> GRANT RELOAD, LOCK TABLES, PROCESS, REPLICATION CLIENT ON *.* TO ‘sstuser‘@‘localhost‘;
mysql> FLUSH PRIVILEGES;

將其它節點加入集群,只要啟動MySQL服務即可。

[root@mydb04 ~]# systemctl start mysqld
[root@mydb05 ~]# systemctl start mysqld

集群狀態驗證:

mysql> show status like ‘%wsrep_clust%‘;

技術分享圖片

4、PXC同步測試

任意一節點創建表或者數據庫,在其他節點查詢驗證:

[root@mydb03 ~]# mysql -uroot -p
mysql> create database xdb;
[root@mydb04 ~]# mysql -uroot -p
mysql> show databases;

技術分享圖片

Percona XtraDB Cluster Installation Guide