溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

企業(yè)主流MySQL高可用集群架構(gòu)應(yīng)用工具PXC

發(fā)布時間:2020-05-22 16:54:33 來源:網(wǎng)絡(luò) 閱讀:320 作者:三月 欄目:MySQL數(shù)據(jù)庫

下面講講關(guān)于企業(yè)主流MySQL高可用集群架構(gòu)應(yīng)用工具PXC,文字的奧妙在于貼近主題相關(guān)。所以,閑話就不談了,我們直接看下文吧,相信看完企業(yè)主流MySQL高可用集群架構(gòu)應(yīng)用工具PXC這篇文章你一定會有所受益。

 

PXC 架構(gòu)圖:

企業(yè)主流MySQL高可用集群架構(gòu)應(yīng)用工具PXC


企業(yè)主流MySQL高可用集群架構(gòu)應(yīng)用工具PXC


pxc就屬于一套近乎完美的MySQL高可用集群架構(gòu)方案;

優(yōu)點總結(jié):

  1. 可以達到時時同步,無延遲現(xiàn)象發(fā)生

  2. 完全兼容MySQL

  3. 對于集群中新節(jié)點的加入,維護起來很簡單

  4. 數(shù)據(jù)的強一致性

不足之處總結(jié):

  1. 只支持Innodb存儲引擎

  2. 存在多節(jié)點update更新問題,也就是寫放大問題

  3. 在線DDL語句,鎖表問題

  4. sst針對新節(jié)點加入的傳輸代價過高的問題


實戰(zhàn)過程:

環(huán)境介紹:

192.168.56.100  node1
192.168.56.101  node2
192.168.56.102  node3

安裝之前的注意事項:

三臺機器的防火墻iptables都要關(guān)閉,三臺機器的server-id不能一樣。

PXC軟件包下載:
https://www.percona.com/downloads/Percona-XtraDB-Cluster-56/LATEST/

這里我下載的是:Percona-XtraDB-Cluster-5.6.21-rel70.1-25.8.938.Linux.x86_64.tar.gz

接下來三臺機器上都需要針對基礎(chǔ)軟件包進行安裝,使用yum安裝即可,解決依賴性。

 perl-IO-Socket-SSL.noarch 
 perl-DBD-MySQL.x86_64  
 perl-Time-HiRes
 openssl 
 openssl-devel
 socat

在節(jié)點一(192.168.56.100)上執(zhí)行操作:

先解壓軟件包并賦予權(quán)限

cd /usr/local/
tar -zxvf Percona-XtraDB-Cluster-5.6.21-rel70.1-25.8.938.Linux.x86_64.tar.gz
ln -s Percona-XtraDB-Cluster-5.6.21-rel70.1-25.8.938.Linux.x86_64 mysql
chown mysql:mysql -R mysql
mkdir -p /data/mysql
chown mysql:mysql -R /data/mysql

配置pxc的參數(shù)文件,這里就比普通的MySQL參數(shù)文件多如下幾點:

提及一點注意事項:這里binlog的格式必須row

#pxc
default_storage_engine=Innodb
innodb_autoinc_lock_mode=2
wsrep_cluster_name=pxc_zs ---------------集群的名字
wsrep_cluster_address=gcomm://192.168.56.100,192.168.56.101,192.168.56.102(集群中節(jié)點的IP)
wsrep_node_address=192.168.56.100------當(dāng)前機器的ip地址
wsrep_provider=/usr/local/mysql/lib/libgalera_smm.so
wsrep_sst_method=xtrabackup-v2 (sst傳輸方法)
wsrep_sst_auth=sst:zs (賬號權(quán)限)

初始化數(shù)據(jù):

/usr/local/mysql/scripts/mysql_install_db  --basedir=/usr/local/mysql 
--datadir=/data/mysql/ --defaults-file=/etc/my.cnf  --user=mysql

啟動第一節(jié)點的服務(wù):

cd /usr/local/mysql/support-files
cp mysql.server /etc/init.d/mysql
[root@node1 support-files]# /etc/init.d/mysql bootstrap-pxc
Bootstrapping PXC (Percona XtraDB Cluster)MySQL (Percona Xt[  OK  ]ster) running (4740)

啟動成功之后,維護數(shù)據(jù)庫環(huán)境并創(chuàng)建用戶

mysql> delete from mysql.user where user!='root' or host!='localhost';
mysql> grant all privileges on *.* to 'zs'@'%' identified by 'zs';
mysql> grant all privileges on *.* to 'sst'@'localhost' identified by 'zs';
mysql> flush privileges;


在節(jié)點二(192.168.56.101)上執(zhí)行操作:

cd /usr/local/
tar -zxvf Percona-XtraDB-Cluster-5.6.21-rel70.1-25.8.938.Linux.x86_64.tar.gz
ln -s Percona-XtraDB-Cluster-5.6.21-rel70.1-25.8.938.Linux.x86_64 mysql
chown mysql:mysql -R mysql
mkdir -p /data/mysql
chown mysql:mysql -R /data/mysql

編輯pxc的配置文件:

#pxc
default_storage_engine=Innodb
innodb_autoinc_lock_mode=2
wsrep_cluster_name=pxc_zs ---------------集群的名字
wsrep_cluster_address=gcomm://192.168.56.100,192.168.56.101,192.168.56.102(集群中節(jié)點的IP)
wsrep_node_address=192.168.56.101------當(dāng)前機器的ip地址
wsrep_provider=/usr/local/mysql/lib/libgalera_smm.so
wsrep_sst_method=xtrabackup-v2 (sst傳輸方法)
wsrep_sst_auth=sst:zs (賬號權(quán)限)

初始化數(shù)據(jù):

/usr/local/mysql/scripts/mysql_install_db  --basedir=/usr/local/mysql 
--datadir=/data/mysql/ --defaults-file=/etc/my.cnf  --user=mysql

啟動第二個節(jié)點的服務(wù):

cd /usr/local/mysql/support-files
cp mysql.server /etc/init.d/mysql
[root@node2 mysql]# /etc/init.d/mysql start
Starting MySQL (Percona XtraDB Cluster)..                  [  OK  ]

在第三個節(jié)點(192.168.56.102)上面執(zhí)行:

cd /usr/local/
tar -zxvf Percona-XtraDB-Cluster-5.6.21-rel70.1-25.8.938.Linux.x86_64.tar.gz
ln -s Percona-XtraDB-Cluster-5.6.21-rel70.1-25.8.938.Linux.x86_64 mysql
chown mysql:mysql -R mysql
mkdir -p /data/mysql
chown mysql:mysql -R /data/mysql

編輯pxc的配置文件:

#pxc
default_storage_engine=Innodb
innodb_autoinc_lock_mode=2
wsrep_cluster_name=pxc_zs ---------------集群的名字
wsrep_cluster_address=gcomm://192.168.56.100,192.168.56.101,192.168.56.102(集群中節(jié)點的IP)
wsrep_node_address=192.168.56.102------當(dāng)前機器的ip地址
wsrep_provider=/usr/local/mysql/lib/libgalera_smm.so
wsrep_sst_method=xtrabackup-v2 (sst傳輸方法)
wsrep_sst_auth=sst:zs (賬號權(quán)限)

初始化數(shù)據(jù):

/usr/local/mysql/scripts/mysql_install_db  --basedir=/usr/local/mysql 
--datadir=/data/mysql/ --defaults-file=/etc/my.cnf  --user=mysql

啟動第三個節(jié)點的服務(wù):

cd /usr/local/mysql/support-files
cp mysql.server /etc/init.d/mysql
[root@node3 mysql]# /etc/init.d/mysql start
Starting MySQL (Percona XtraDB Cluster)..                  [  OK  ]


注:其他兩個節(jié)點同樣進行安裝與初始化的操作;

但啟動方式不是以/etc/init.d/mysql  bootstrap-pxc,換成/etc/init.d/mysql  start 這種方式


三個節(jié)點都已經(jīng)啟動成功,這樣在任意一個節(jié)點上面,執(zhí)行一條DML語句的操作,都會同步到另外兩個節(jié)點。

企業(yè)主流MySQL高可用集群架構(gòu)應(yīng)用工具PXC

對于以上企業(yè)主流MySQL高可用集群架構(gòu)應(yīng)用工具PXC相關(guān)內(nèi)容,大家還有什么不明白的地方嗎?或者想要了解更多相關(guān),可以繼續(xù)關(guān)注我們的行業(yè)資訊板塊。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI