共计 3210 个字符,预计需要花费 9 分钟才能阅读完成。
Percona XtraDB Cluster 是针对 MySQL 用户的高可用性和扩展性解决方案,基于 Percona Server。其包括了 Write Set REPlication 补丁,使用 Galera 2.0 库,这是一个针对事务性应用程序的同步多主机复制插件。
Percona XtraDB Cluster 特点:
(1)同步复制,事务在所有集群节点要么同时提交,要么不提交。
(2)多主复制,可以在任意一个节点写入。
(3)从服务器上的并行应用事件,真正的“并行复制”。
(4)自动配置节点。
(5)数据一致性,没有不同步的从服务器。
实验系统:CentOS 6.6_x86_64
实验前提:防火墙和 selinux 都关闭,服务器上没有安装任何版本的 MYSQL
实验说明:本实验共有 3 台主机,IP 分配如拓扑
实验拓扑:
一、安装 percona 环境
1. 配置 yum 源:
yum -y install http://www.percona.com/downloads/percona-release/RedHat/0.1-3/percona-release-0.1-3.noarch.rpm | |
yum -y epel* |
2. 安装 Percona 软件:
yum -y install Percona-XtraDB-Cluster-server Percona-XtraDB-Cluster-client Percona-Server-shared-compat percona-xtrabackup
3. 添加账户:
/etc/init.d/mysql bootstrap-pxc // 启动 PXC | |
mysql | |
----------------------------------------> | |
GRANT RELOAD,LOCK TABLES,REPLICATION CLIENT ON *.* TO com@localhost IDENTIFIED BY '123456'; | |
FLUSH PRIVILEGES;\q<----------------------------------------/etc/init.d/mysql stop |
二、编辑 PXC 的节点配置:
1. 在 19.66 上:
vim /etc/my.cnf | |
------------------------------------->wsrep_provider=/usr/lib64/libgalera_smm.sowsrep_cluster_address="gcomm://192.168.19.66,192.168.19.74,192.168.19.76"wsrep_sst_auth=com:123456wsrep_cluster_name=Perconawsrep_sst_method=xtrabackup-v2wsrep_node_address=192.168.19.66wsrep_slave_threads=2innodb_locks_unsafe_for_binlog=1innodb_autoinc_lock_mode=2<-------------------------------------/etc/init.d/mysql bootstrap-pxc |
2. 在 19.74 上:
vim /etc/my.cnf | |
--------------------------------------> | |
wsrep_provider=/usr/lib64/libgalera_smm.so | |
wsrep_cluster_address="gcomm://192.168.19.66,192.168.19.74,192.168.19.76" | |
wsrep_sst_auth=com:123456 | |
wsrep_cluster_name=Percona | |
wsrep_sst_method=xtrabackup-v2 | |
wsrep_node_address=192.168.19.74 | |
wsrep_slave_threads=2 | |
innodb_locks_unsafe_for_binlog=1 | |
innodb_autoinc_lock_mode=2 | |
<-------------------------------------- | |
/etc/init.d/mysql start |
3. 在 19.76 上:
vim /etc/my.cnf | |
--------------------------------> | |
wsrep_provider=/usr/lib64/libgalera_smm.so | |
wsrep_cluster_address="gcomm://192.168.19.66,192.168.19.74,192.168.19.76" | |
wsrep_sst_auth=com:123456 | |
wsrep_node_address=192.168.19.76 | |
wsrep_cluster_name=Percona | |
wsrep_sst_method=xtrabackup-v2 | |
wsrep_slave_threads=2 | |
innodb_locks_unsafe_for_binlog=1 | |
innodb_autoinc_lock_mode=2 | |
<--------------------------------/etc/init.d/mysql start |
4. 各节点上查看状态,保证如下几项没有问题:
mysql | |
----------------------------------------------> | |
SHOW STATUS LIKE '%wsrep%'; | |
+------------------------------+----------------------------------------------------------+ | |
| Variable_name | Value | | |
+------------------------------+----------------------------------------------------------+ | |
| wsrep_local_state_uuid | a82bc530-3748-11e5-a4fc-c26f7c90839c |... | |
| wsrep_local_state | 4 | | |
| wsrep_local_state_comment | Synced | | |
... | |
| wsrep_cluster_size | 3 | | |
| wsrep_cluster_status | Primary | | |
| wsrep_connected | ON | | |
... | |
| wsrep_ready | ON | | |
+------------------------------+----------------------------------------------------------+ |
5. 测试:
在 19.66 上:
CREATE DATABASE jason; | |
USE jason; | |
CREATE TABLE jjj (id int ,name char(10)) engine=innodb; | |
COMMIT; |
在 19.74 上:
USE jason;INSERT INTO jjj values (1,'22');COMMIT;
在 19.76 上:
USE jason; | |
SELECT * FROM jjj; |
在任意服务器均可读写,其他操作大家可以自行尝试。至此实验成功,谢谢!
MySQL PXC 高可用集群搭建 http://www.linuxidc.com/Linux/2016-06/132701.htm
Percona XtraDB Cluster 的详细介绍 :请点这里
Percona XtraDB Cluster 的下载地址 :请点这里
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-05/143496.htm
