1. 程式人生 > >CentOS 7 搭建PXC 數據庫集群

CentOS 7 搭建PXC 數據庫集群

opensuse 註意 編號 service art 並行 虛擬機 res mar

CentOS 7 搭建PXC 數據庫集群 PXC( Percona XtraDB Cluster ) 特點如下:

1.同步復制,事務要麽在所有節點提交或不提交,保證了數據的強一致性。 2.多主復制,可以在任意節點進行寫操作。 3.在從服務器上並行應用事件,真正意義上的並行復制。
Percona 下載地址 https://www.percona.com/downloads/Percona-XtraDB-Cluster-LATEST/

所有下載安裝包如下:

Percona-XtraDB-Cluster

Percona-XtraBackup

jemalloc

qpress


執行命令:

#先刪除預裝的 MariaDB
yum -y remove mari*

#解壓所有安裝包,到 /home 目錄,執行批量安裝
yum localinstall *.rpm

#查看 root 密碼
cat /var/log/mysqld.log | grep "A temporary password"

#修改 root 密碼,建議先創建快照,以便恢復.
mysql_secure_installation

#登錄 mysql
mysql -h127.0.0.1 -u root -p

#創建 admin 帳號
mysql> CREATE USER ‘admin‘@‘%‘ IDENTIFIED BY ‘Abc_123456‘;
mysql> GRANT all privileges ON *.* TO ‘admin‘@‘%‘;
mysql> FLUSH PRIVILEGES;
mysql>exit


#修改 mysql 配置文件 vi /etc/percona-xtradb-cluster.conf.d/mysqld.cnf
===>添加在 [mysqld] 下面: [mysqld] character_set_server=utf8 bind-address=0.0.0.0 #跳過DNS解析 skip-name-resolve #修改集群配置文件 vi /etc/percona-xtradb-cluster.conf.d/wsrep.cnf ===>對照配置文件,修改這些地方 [mysqld] #集群的名稱 wsrep_cluster_name=pxc-cluster #集群所有節點服務器IP地址 wsrep_cluster_address=gcomm://192.168.100.14,192.168.100.15,192.168.100.16 #當前節點的名稱 wsrep_node_name=pxc1 #當前節點的IP wsrep_node_address=192.168.99.151 #同步方法(mysqldump、rsync、xtrabackup) wsrep_sst_method=xtrabackup-v2 #同步使用的帳戶(即:上一步創建的帳號) wsrep_sst_auth= admin:Abc_123456 #同步嚴厲模式 pxc_strict_mode=ENFORCING #基於ROW復制(安全可靠) binlog_format=ROW #默認引擎 default_storage_engine=InnoDB #主鍵自增長不鎖表 innodb_autoinc_lock_mode=2 #把 SELINUX 值設置成 disabled vi /etc/selinux/config #禁止 mysql 自啟動 chkconfig mysqld off #開放端口 firewall-cmd --zone=public --add-port=3306/tcp --permanent firewall-cmd --zone=public --add-port=4444/tcp --permanent firewall-cmd --zone=public --add-port=4567/tcp --permanent firewall-cmd --zone=public --add-port=4568/tcp --permanent #重啟服務器 reboot 至此,第一個節點服務器就建好了,如果你用的虛擬機的話,復制該系統兩份. #修改 server-id,每個集群中,編號唯一,可改成1.2.3編號 vi /etc/percona-xtradb-cluster.conf.d/mysqld.cnf 三臺機器,把第一臺作為主節點啟動,創建集群,另外兩臺非主節點,直接啟動 mysql 服務即可加入集群. #主節點啟動 systemctl start [email protected] #非主節點啟動 service mysql start 另外註意一點,集群中,半數或半數以上的節點掛了,集群也就掛了.當重新啟動集群時,能作為主節點啟動的,往往是那臺最後掛的服務器,因為它保存的數據是最完整的. #查看哪能節點服務器能作為主節點啟動 vi /var/lib/mysql/grastate.dat 找到 "safe_to_bootstrap: 0" 如果是 1 表示可以作為主節點啟動,當三個節點同時掛了,那麽全都是0,這時手動修改其中一個為1就好了.
最終實現的效果是數據庫管理工具連接這三個數據庫節點,然後,任意操作其中一個數據庫,刷新另外兩個,都能看到變一致的改變.

CentOS 7 搭建PXC 數據庫集群