PXC
简述
Percona XtraDB Cluster (简称PXC)
–是基于Galera的mysql高可用集群解决方案
–Galera Cluster是Codership公司开发的一套免费开源的高可用方案
–PXC集群主要由两部分组成:Percona Server with XtraDB和Write Set Replication patches (同步、多主复制插件)
–官网http://galeracluster.com
特点
–数据强一致性,无同步延迟
–没有主从切换操作,无需使用虚拟 IP
–支持 InnoDB 存储引擎
–多线程复制
–部署使用简单
–支持节点自动加入,无需手动拷贝数据
1.环境准备
三台数据库服务器配置主机名和ip地址绑定
[root@room9pc01 ~]#Vim /etc/hosts
192.168.4.71 pxcnode71
192.168.4.72 pxcnode72
192.168.4.73 pxcnode73
2.部署PXC软件
软件介绍
percona-xtrabackup-24-2.4.13-1.el7.x86_64.rpm ##在线热备程序
qpress-1.1-14.11.x86_64.rpm ##递归压缩程序
Percona-XtraDB-Cluster-5.7.25-31.35-r463-el7-x86_64.rpm ##集群服务程序
三台服务器都需要安装
[root@room9pc01 ~]#rpm -ivh libev-4.15-1.el6.rf.x86_64.rpm //安装依赖
[root@room9pc01 ~]#yum -y install percona-xtrabackup-24-2.4.13-1.el7.x86_64.rpm
[root@room9pc01 ~]#rpm -ivh qpress-1.1-14.11.x86_64.rpm //安装依赖
[root@room9pc01 ~]#tar -xvf Percona-XtraDB-Cluster-5.7.25-31.35-r463-el7-x86_64-bundle.tar
[root@room9pc01 ~]#yum -y install Percona-XtraDB-Cluster-*.rpm
3.配置服务
a.相关配置文件
Mysqld.cnf //数据库服务运行参数配置文件
Mysqld_safe.cnf //Percona Server 5.7配置文件
Wsrep.cnf //PXC集群配置文件
b.修改mysqld.cnf(3台服务器都需要配置)
[root@room9pc01 ~]#vim /etc/percona-xtradb-cluster.conf.d/mysqld.cnf
[mysqld]
server-id=71 //server-id 不允许重复
datadir=/var/lib/mysql //数据库目录
socket=/var/lib/mysql/mysql.sock //socket文件
log-error=/var/log/mysqld.log //日志文件
pid-file=/var/run/mysqld/mysqld.pid //pid文件
log-bin //启用binlog日志
log_slave_updates //启用链式复制
expire_logs_days=7 //日志文件保留天数
maysqld_safe.cnf使用默认配置即可不用修改
c.修改wsrep.cnf(3台服务器都需要配置)
[root@room9pc01 ~]#vim /etc/percona-xtradb-cluster.conf.d/wsrep.cnf
wsrep_cluster_address=gcomm://192.168.4.71,192.168.4.72,192.168.4.73 //成员列表
wsrep_node_address=192.168.4.71 //本机ip
wsrep_cluster_name=pxc-cluster //集群名
wsrep_node_name=pxcnode71 //本机主机名
wsrep_sst_auth="sstuser:123qqq...A" //SST数据同步授权用户及密码
4.启动服务(在一台服务器上执行即可)
[root@room9pc01 ~]#Systemctl start mysql@bootstrap.service //启动集群服务
[root@room9pc01 ~]#grep pass /var/log/mysqld.log //查看数据库管理员初始登录密码
mysql> garnt reload, lock tables,replication client,process on *.* to sstuser@"localhost” identified by “123qqq…A”; //添加授权用户
[root@room9pc01 ~]#Systemctl start mysql
这时三台服务器以自动同步,72,73即可同步到71上的数据信息
5.测试配置
Show status like “%wsrep%”; 查看集群状态