中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

MYSQL高可用之PXC

發布時間:2020-07-19 07:24:13 來源:網絡 閱讀:2521 作者:蔣將將 欄目:MySQL數據庫

簡介

Percona XtraDB Cluster是針對MySQL用戶的高可用性和擴展性解決方案,基于Percona Server 。其包括了Write Set REPlication補丁,使用Galera 2.0庫,這是一個針對事務性應用程序的同步多主機復制插件。

Percona XtraDB Cluster特點:

  (1)同步復制,事務在所有集群節點要么同時提交,要么不提交。

  (2)多主復制,可以在任意一個節點寫入。

  (3)從服務器上的并行應用事件,真正的“并行復制”。

  (4)自動配置節點。

  (5)數據一致性,沒有不同步的從服務器。

pxc框架圖

MYSQL高可用之PXC

優點總結:

  1. 可以達到時時同步,無延遲現象發生

  2. 完全兼容MySQL

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

  4. 數據的強一致性

不足之處總結:

  1. 只支持Innodb存儲引擎

  2. 最大的缺點是多寫問題,最短板性能上限問題

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

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

測試場景測試:

  1. 在我們硬件水平是256G內存,32核CPU,SSD硬件,單行數據大概1K,單表1千萬,512表。 QPS在2.5k寫+5K讀時,就會有節點同步阻塞問題。當時我們臨時切成只讀(不執行寫SQL)10分鐘后,才緩解過來。寫queue配置參數在下面。

  2. 建議場景:低寫QPS的DB,使用PXC集群,以防硬件故障,達到高可用。


一、環境準備

1、系統環境

[root@master ~]# cat /etc/redhat-release

CentOS Linux release 7.5.1804 (Core)

MYSQL高可用之PXCMYSQL高可用之PXC

2、數據庫環境

數據庫IP地址

數據庫版本

主機名

server_id

192.168.56.129

master

129

192.168.56.130

slave1

130

192.168.56.131

slave2

131

3、注意事項

暫時關閉防火墻和selinux服務

使用端口 3306 、4444、4567、4568

二、搭建(yum安裝)(三臺都要)

1、安裝percona環境

1.1、配置yum源

[root@master ~]# yum install http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm

[root@master ~]# yum install perl-IO-Socket-SSL perl-DBD-MySQL perl-Time-HiRes socat nc openssl -y

1.3、下載安裝Percona-XtraDB-Cluster

[root@master ~]# yum install -y libaio*

[root@master ~]# yum groupinstall -y 'Development tools'

[root@master ~]# yum install -y libssl.so.6

[root@master lib64]# ln -sf /usr/lib64/libssl.so.10 /usr/lib64/libssl.so.6

[root@master lib64]# ln -sf /usr/lib64/libcrypto.so.10 /usr/lib64/libcrypto.so.6

yum安裝

[root@master ~]# yum install Percona-XtraDB-Cluster-57

MYSQL高可用之PXCMYSQL高可用之PXC

2、啟動服務

[root@master ~]# systemctl start mysqld.service (第一個節點啟動方式不一樣

查看默認密碼

[root@master ~]# grep "temporary password" /var/log/mysqld.log

3、登錄數據庫修改

MYSQL高可用之PXCMYSQL高可用之PXC

mysql> alter user 'root'@'localhost' identified by 'Jsq@2018';

Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

4、創建sst賬號密碼(只在第一個節點添加,其他同步即可

mysql> GRANT RELOAD,LOCK TABLES,PROCESS,REPLICATION CLIENT ON *.* TO 'sstuser1'@'localhost' IDENTIFIED BY '123456';

mysql> FLUSH PRIVILEGES;

MYSQL高可用之PXCMYSQL高可用之PXC

5、配置mysqld.cnf文件

cat /etc/percona-xtradb-cluster.conf.d/mysqld.cnf

默認狀態

MYSQL高可用之PXCMYSQL高可用之PXC

現在在/etc/my.cnf第一行添加[mysqld],然后重新啟動服務成功(節點2和節點3的也需要參照節點1在配置文件/etc/my.cnf的第一行添加[mysqld])。

master配置如下:

[mysqld]

#!includedir /etc/my.cnf.d/

#!includedir /etc/percona-xtradb-cluster.conf.d/

#PXC

# Path to Galera library

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

# Cluster connection URL contains the IPs of node#1, node#2 and node#3

wsrep_cluster_address=gcomm://192.168.56.129,192.168.56.130,192.168.56.131

# In order for Galera to work correctly binlog format should be ROW

binlog_format=ROW

# MyISAM storage engine has only experimental support

default_storage_engine=InnoDB

# This changes how InnoDB autoincrement locks are managed and is a requirement for Galera

innodb_autoinc_lock_mode=2

# Node #1 address

wsrep_node_address=192.168.56.129

wsrep_node_name=pxc1

# SST method

wsrep_sst_method=xtrabackup-v2

# Cluster name

wsrep_cluster_name=pxc-cluster

# Authentication for SST method

wsrep_sst_auth="sstuser1:123456"

slave1配置如下:

[mysqld]

#PXC

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

wsrep_cluster_address=gcomm://192.168.56.129,192.168.56.130,192.168.56.131

binlog_format=ROW

default_storage_engine=InnoDB

innodb_autoinc_lock_mode=2

wsrep_node_address=192.168.56.130

wsrep_node_name=pxc2

wsrep_sst_method=xtrabackup-v2

wsrep_cluster_name=pxc-cluster

wsrep_sst_auth="sstuser1:123456"

slave2配置如下:

[mysqld]

#PXC

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

wsrep_cluster_address=gcomm://192.168.56.129,192.168.56.130,192.168.56.131

binlog_format=ROW

default_storage_engine=InnoDB

innodb_autoinc_lock_mode=2

wsrep_node_address=192.168.56.131

wsrep_node_name=pxc3

wsrep_sst_method=xtrabackup-v2

wsrep_cluster_name=pxc-cluster

wsrep_sst_auth="sstuser1:123456"

啟動第一個節點

[root@master ~]# systemctl start mysql@bootstrap.service

[root@master ~]# systemctl status mysql@bootstrap.service

MYSQL高可用之PXCMYSQL高可用之PXC

[root@master ~]# ss -tnl

MYSQL高可用之PXCMYSQL高可用之PXC

其他節點采用正確方式啟動

[root@slave1 ~]# systemctl start mysqld.service

[root@slave2 ~]# systemctl start mysqld.service

6、查看三個節點狀態

mysql> show status like '%wsrep%';

MYSQL高可用之PXCMYSQL高可用之PXC

三、測試

在master更新數據

MYSQL高可用之PXCMYSQL高可用之PXC

在slave1更新數據

MYSQL高可用之PXCMYSQL高可用之PXC

在slave2更新數據

MYSQL高可用之PXCMYSQL高可用之PXC

到此即可!!!!!!!!!!!!!!!!!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

昌宁县| 静安区| 扬州市| 临桂县| 青河县| 阳山县| 黄冈市| 麦盖提县| 丹棱县| 新余市| 康乐县| 屏南县| 斗六市| 赣榆县| 嘉黎县| 大兴区| 临澧县| 色达县| 建平县| 广昌县| 双牌县| 花垣县| 成武县| 镇雄县| 大足县| 梓潼县| 滨州市| 黑龙江省| 阿鲁科尔沁旗| 商洛市| 峨眉山市| 广丰县| 鹿泉市| 贵南县| 浮梁县| 原平市| 洛隆县| 河间市| 璧山县| 观塘区| 枞阳县|