企业主流MySQL高可用集群架构三部曲之PXC

2018年3月3日22:55:26 发表评论 33

PXC是percona公司的percona xtraDB cluster.简称PXC。它是基于GaLera协议的高可用集群方案。可以实现多个节点间的数据同步复制以及读写,并且可保障数据库的服务高可用及数据强一致性

PXC 架构图:

企业主流MySQL高可用集群架构三部曲之PXC

企业主流MySQL高可用集群架构三部曲之PXCpxc就属于一套近乎完美的MySQL高可用集群架构方案;

优点总结:

  1. 可以达到时时同步,无延迟现象发生
  2. 完全兼容MySQL
  3. 对于集群中新节点的加入,维护起来很简单
  4. 数据的强一致性

不足之处总结:

  1. 只支持Innodb存储引擎
  2. 存在多节点update更新问题,也就是写放大问题
  3. 在线DDL语句,锁表问题
  4. sst针对新节点加入的传输代价过高的问题

实战过程:

环境介绍:

安装之前的注意事项:

三台机器的防火墙iptables都要关闭,三台机器的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

接下来三台机器上都需要针对基础软件包进行安装,使用yum安装即可,解决依赖性。

在节点一(192.168.56.100)上执行操作:

先解压软件包并赋予权限

配置pxc的参数文件,这里就比普通的MySQL参数文件多如下几点:

提及一点注意事项:这里binlog的格式必须row

初始化数据:

启动第一节点的服务:

启动成功之后,维护数据库环境并创建用户

在节点二(192.168.56.101)上执行操作:

编辑pxc的配置文件:

初始化数据:

启动第二个节点的服务:

在第三个节点(192.168.56.102)上面执行:

编辑pxc的配置文件:

初始化数据:

启动第三个节点的服务:

注:其他两个节点同样进行安装与初始化的操作;

但启动方式不是以/etc/init.d/mysql  bootstrap-pxc,换成/etc/init.d/mysql  start 这种方式

三个节点都已经启动成功,这样在任意一个节点上面,执行一条DML语句的操作,都会同步到另外两个节点。

企业主流MySQL高可用集群架构三部曲之PXC

 

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: