首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> DB2 資料庫 >> DB2 教學

Percona XtraDB Cluster 5.6 安裝部署全流程(CentOS 6 / RHEL 6)

     編輯:DB2 教學

前言

Percona XtraDB Cluster (PXC) 基於 Galera 庫實現**同步多主複寫**,解決傳統主從複寫的延遲與數據不一致問題。本文記錄在 CentOS/RHEL 6 上安裝 PXC 5.6 的標準化步驟。

環境準備

  • OS:CentOS 6.x / RHEL 6.x(x86_64)
  • 至少 2 節點,互通網路,關閉 SELinux 或設為 Permissive
  • 各節點 hostname 解析正確(/etc/hosts)

步驟 1:移除系統自帶 MySQL 衝突包

rpm -qa | grep -i mysql-server | xargs rpm -e --nodeps

步驟 2:安裝依賴套件

# EPEL 源
wget https://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -ivh epel-release-6-8.noarch.rpm

# nc (Galera SST 需要)
wget https://mirror.centos.org/centos/6/os/x86_64/Packages/nc-1.84-22.el6.x86_64.rpm
rpm -ivh nc-1.84-22.el6.x86_64.rpm

# socat (xtrabackup-v2 SST 需要)
wget https://apt.sw.be/redhat/el6/en/x86_64/rpmforge/RPMS/socat-1.7.2.4-1.el6.rf.x86_64.rpm
rpm -ivh socat-1.7.2.4-1.el6.rf.x86_64.rpm

步驟 3:配置 Percona 官方 YUM 源並安裝

yum install https://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm
yum install Percona-XtraDB-Cluster-56

步驟 4:首次啟動並建立 SST 用戶

/etc/init.d/mysql start
mysql -uroot -p  # 首次啟動無密碼

在 MySQL 中執行:

CREATE USER 'sstuser'@'localhost' IDENTIFIED BY 'sstuser';
GRANT RELOAD, LOCK TABLES, REPLICATION CLIENT ON *.* TO 'sstuser'@'localhost';
FLUSH PRIVILEGES;

若 CREATE USER 報 Lost connection,執行升級:

mysql_upgrade -uroot -p --skip-version-check

步驟 5:停止 MySQL,編輯 /etc/my.cnf

[client]
socket=/var/lib/mysql/mysql.sock

[mysqld]
server_id=1                           # 每節點唯一
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
binlog_format=ROW
default-storage-engine=innodb
innodb_autoinc_lock_mode=2

# Galera 核心配置
wsrep_provider=/usr/lib64/libgalera_smm.so
wsrep_provider_options="gcache.size=300M; gcache.page_size=1G"
wsrep_cluster_name="mycluster"
wsrep_cluster_address="gcomm://192.168.1.10,192.168.1.11"  # 所有節點 IP
wsrep_sst_method=rsync                 # 首次同步用 rsync,後續可改 xtrabackup-v2
wsrep_node_address=192.168.1.10        # 本節點 IP
wsrep_sst_auth="sstuser:sstuser"
wsrep_node_name=pxc1
wsrep_slave_threads=4

[mysql_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

關鍵參數說明:

  • wsrep_cluster_address:所有節點 IP,首個啟動節點可只寫 gcomm://(引導模式)。
  • wsrep_node_address:**每節點必須改為自身 IP**。
  • wsrep_sst_method:新叢集首次同步建議 rsync,穩定後可改 xtrabackup-v2(非阻塞)。

步驟 6:啟動叢集

  • 首個節點(引導節點):/etc/init.d/mysql bootstrap-pxc
  • 其餘節點:/etc/init.d/mysql start(自動向引導節點同步)

觀察錯誤日誌 /var/log/mysqld.log,出現 WSREP: Synchronized with group 表示同步完成。

步驟 7:SELinux 阻擋問題排查

若啟動失敗,日誌出現 permission denied,執行:

yum -y install policycoreutils-python
semanage permissive -a mysqld_t

驗證叢集狀態

mysql -uroot -p -e "SHOW STATUS LIKE 'wsrep%';"
# 關鍵指標
wsrep_cluster_size = 節點數
wsrep_ready = ON
wsrep_connected = ON
wsrep_local_state_comment = Synced

總結

PXC 部署核心在於:移除衝突包 → 裝依賴 → 裝 PXC → 建 SST 用戶 → 配置 my.cnf(特別是 wsrep_* 參數)→ 引導首節點 → 其餘節點自動加入。掌握此流程,可快速建立高可用、強一致的 MySQL 叢集。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved