MySQL PXC(Percona XtraDB Cluster)環境搭建記錄

MySQL PXC(Percona XtraDB Cluster)環境搭建記錄

2018年06月07日 17:13:08 偏居一方的夢想 閱讀數 564
 

MySQL PXC環境搭建記錄

因爲最近項目的須要,要給客戶搭建一個高可用環境,其中涉及了數據庫的高可用,最終使用了PXC+LVS的方案,因此在此記錄一下PXC的搭建。node

首先簡單介紹一下PXC,percona官網地址:https://www.percona.com/,官網介紹以下:
這裏寫圖片描述
Percona XtraDB Cluster(PXC)是MySQL集羣的一種高可用性和高伸縮性的開源解決方案。mysql

PXC會使用大概是4個端口號
- 3306 數據庫對外服務的端口號
- 4444 請求SST SST: 指數據一個鏡象傳輸 xtrabackup , rsync ,mysqldump
- 4567 : 組成員之間進行溝通的一個端口號
- 4568 : 傳輸IST用的。相對於SST來講的一個增量sql


 

 


環境介紹

本文檔涉及的ip等信息都是虛假的。數據庫

IP 操做系統
172.13.13.1 CentOS7+
172.13.13.2 CentOS7+
172.13.13.3 CentOS7+

開始

一、準備相關文件

首先去percona官網下載相關文件,從https://www.percona.com/downloads/Percona-XtraDB-Cluster-LATEST/,選擇對應的操做系統及版本,選擇下載tar,裏面有所有的文件。
這裏寫圖片描述
https://www.percona.com/downloads/XtraBackup/LATEST/,下載XtraBackup的rpm文件,不須要下載tar,debuginfo和test不是必需的。bootstrap

二、修改hostname

修改hostname,以下所示:
這裏寫圖片描述
修改hosts文件,三臺機器都修改以下所示:
這裏寫圖片描述socket

三、安裝PXC

首先安裝依賴的一些軟件等。
yum install socat
yum install libev
ide

將下載的PXC的tar和XtraBackup的rpm文件,移到/usr/local/pxc/下(自定義的一個文件夾),而後解壓tar到當前文件夾。
這裏寫圖片描述spa

首先安裝依賴,shared和shared-compat兩個rpm包;
再安裝xtrabackup,此時會提示依賴perl或DBD_MySQL等,執行下面命令:
yum install percona-xtrabackup-24-2.4.11-1.el7.x86_64.rpm
,來安裝全部依賴(若是經過yum install perl-DBD-MySQL,安裝獲得的mysql會依賴maraidb_libs,而pxc的server安裝時會提示須要卸載mariadb_libs),安裝完以後再執行rpm -ivh percona-xtrabackup-24-2.4.11-1.el7.x86_64.rpm ;
接着安裝devel等。也能夠執行rpm -ivh percona-XtraDB*命令,來自動安裝。操作系統

自動安裝中可能會出錯,提示依賴qpress。執行yum install qpress,若是提示無可用安裝時,修改rpm源,
rpm -Uvh https://www.percona.com/downloads/percona-release/redhat/latest/percona-release-0.1-4.noarch.rpm,而後再執行install。.net

安裝完成以後,PXC會在/etc下生成percona-xtradb-cluster.conf.d/目錄,該目錄下有三個配置文件,其中wsrep.cnf是集羣信息的配置文件。

因爲想要讓PXC的文件、日誌、數據等信息,生成到指定的地址,因此在安裝server、client以及57-5.7以前,先本身建立了/etc下的my.cnf文件,裏面定義了PXC相關的配置,PXC部份內容以下:

\### MySQL 相關部分配置
[mysqld]
log-error=/var/log/mysqld.log
\## General
user                      = mysql
port                      = 3306
socket                    = /usr/local/pxc_data/sock/mysql.sock 
pid-file                  = /usr/local/pxc_data/run/mysqld.pid
basedir                   = /usr
datadir                   = /usr/local/pxc_data/datafile
tmpdir                    = /usr/local/pxc_data/tempfile
slave_load_tmpdir         = /usr/local/pxc_data/tempfile

 

### Percona XtraDB Cluster 官方配置 begin  

wsrep_provider = /usr/lib64/galera3/libgalera_smm.so  

wsrep_cluster_name = pxc-cluster  #pxc集羣名稱 

wsrep_cluster_address = gcomm://172.13.13.1,172.13.13.2,172.13.13.3  #集羣的三個節點的ip 

wsrep_node_name = pxc_node1     #hostname 

wsrep_node_address = 172.13.13.1   #本機ip 

wsrep_sst_method = xtrabackup-v2   #數據同步方式 

wsrep_sst_auth = sstuser:sstpassword  #同步時的用戶及密碼 

wsrep_provider_options=」gcache.size=8G;」 

pxc_strict_mode = enforcing  

binlog_format = ROW  

default_storage_engine = InnoDB  

innodb_autoinc_lock_mode = 2

 

而後在相應的位置建立文件夾,例如本次是生成在/usr/local/pxc_data/下,分別建立以下文件夾:
mkdir /usr/local/pxc_data/{relaylog,genaral,slowlog,logs,binlog,tempfile,datafile} -p
建立完成以後,須要將權限用戶組修改一下,否則PXC啓動的時候會報錯,啓動失敗。
chown mysql.mysql -R *

四、啓動PXC

三個節點如上配置完畢(注意my.conf中pxc的相關修改),準備啓動PXC集羣,首先啓動主節點。
在172.13.13.1上執行systemctl start mysql@bootstrap.service,若是提示沒有bootstrap這種啓動方式,那麼就是沒有安裝gardb這個rpm包,則執行rpm -ivh Percona-XtraDB-Cluster-garbd-57-5.7.21-29.26.1.el7.x86_64.rpm,安裝完成以後,從新啓動。

當啓動成功以後,要想經過命令行進入數據庫,須要獲得數據庫的root帳號的默認密碼,經過日誌文件來獲得(grep pass 3306-error.log)。
而後鏈接數據庫:
mysql -u root -p 'XXXXX'
若是出現sock文件之類的問題,那麼須要指定sock文件,即:
mysql -u root -p 'XXXXX' -S "sock文件地址"
登入成功以後,首先根據提示修改root密碼,否則沒法進行其餘操做。
修改完成以後,新增一個sstuser用戶(這個用戶是pxc配置中的那個,用來三個節點之間數據同步),並受權。
GRANT RELOAD, PROCESS, LOCK TABLES, REPLICATION CLIENT ON *.* TO 'sstusrr'@'localhost' identified by "sstpassword";

添加並受權成功以後,在172.13.13.2/172.13.13.3上執行systemctl start mysql@service

若是有錯則根據提示查看相關日誌肯定問題。
三個節點啓動完成以後,登入mysql執行 show status like 'wsrep%';能夠查看pxc的一些信息。

五、其餘

出現
[ERROR] WSREP: wsrep_load(): dlopen(): /usr/lib64/galera3/libgalera_smm.so: symbol SSL_COMP_free_compression_methods, version libssl.so.10 not defined in file libssl.so.10 with link time reference
,是由於openssl版本低,執行yum update openssl便可。

相關文章
相關標籤/搜索