数据库集群搭建--PXC集群

PXC集群搭建

概念

- Percona XtraDB Cluster(简称PXC)
- 是基于Galera的mysql高可用集群解决方案
- Galera Cluster是Codership公司开发的一套免费开源的高可用方案
- PXC集群主要有两部分组成:Percona Server with XtraDB和Write Set Replication patches(同步,多主复制插件)
- 官网http://galeracluster.com

特点

1.具体如下:
-数据强一致性,无同步延迟
-没有主从切换操作,无需使用虚拟IP
-支持InnoDB存储引擎
-多线程复制
-部署使用简单
-支持节点自动介入,无需手动拷贝数据
2.相应端口:

端口 说明
3306 数据库服务端口
4444 SST端口
4567 集群通信端口
4568 IST端口
SST State Snapshot Transfer 全量同步
IST Incremental State Transfer 增量同步

3.相较MHA集群相比,MHA集群的缺陷:

  • 管理服务监控到主服务器宕机服务会自动停止
  • 宕机的服务器再添加到集群里,要手动配置主从及同步数据
  • 客户端连接访问的是VIP地址
  • 用来搭建集群的服务器必须是主从结构
  • 要配置ssh无密码登陆

安装

1.安装包

rpm -ivh libev-4.15-1.el6.rf.x86_64.rpm 		//安装依赖
yum -y install percona-xtrabackup-24-2.4.13-1.el7.x86_64.rpm 
rpm -ivh qpress-1.1-14.11.x86_64.rpm		//安装依赖
tar -xvf Percona-XtraDB-Cluster-5.7.25-31.35-r463-el7-x86_64-bundle.tar 
yum -y install Percona-XtraDB-Cluster-*.rpm

2.环境配置

2.1 相关配置文件
  • /etc/percona-xtradb-cluster.conf.d //所在目录
  • mysqld.conf //数据库服务运行参数配置文件
  • mysqld_safe.cnf //Percona Server 5.7配置文件
  • wsrep.cnf //PXC集群配置文件
2.2 修改mysqld.cnf文件
[mysqld]
server-id=*  //给个id号,建议与本机ip一致
!注意!三台数据库服务器的server-id 不允许重复
2.3 修改wsrep.cnf文件
vim wsrep.cnf 		//配置集群文件
8  wsrep_cluster_address=gcomm://192.168.4.71,192.168.4.72,192.168.4.73(注意自己的IP在最后一个) //集群成员列表
25 wsrep_node_address=192.168.4.72\ 	//本机ip地址
27 wsrep_cluster_name=pxc-cluster			//集群名称,3台必须相同
30 wsrep_node_name=pxcnode72				//本机主机名
39 wsrep_sst_auth="sstuser:123qqq...A"	//SST完全备份数据同步授权用户的账号和密码

三台机器上同步以上操作,完成基础环境配置.

3.启动集群服务

在第一台服务器上启动集群服务,在另外两台服务器上启动数据库服务.

]# systemctl start [email protected]  	//启动集群服务
]# grep password /var/log/mysqld.log 					//查看数据库管理员初始登录密码
]# mysql -uroot -p'ZcKy8gYT&Ul>'					//登录
mysql> alter user root@"localhost" identified by "123456";	//修改登录密码
mysql> grant reload , lock tables , replication client , process on *.* to sstuser@"localhost" identified by "123456";	//添加授权

4.启动数据库服务

在第一台服务器上启动集群服务,在另外两台服务器上启动数据库服务.

systemctl start mysql				//启动数据库服务
ss -ntulp | grep 3306				//查看端口
ss -ntulp | grep 4567				//查看端口

5.测试配置

5.1 查看集群信息
mysql>show status like "%wsrep%";
5.2 在任意数据库服务器添加授权用户
mysql> grant all on 库名.* to 用户@"%" identified by "密码";
]# mysql -h服务器ip地址 -u用户名 -p密码  //访问集群
5.3 客户端连接任意数据库服务器访问数据

扩展—搭建负载均衡集群

环境准备:
新增一台虚拟机(192.168.4.9),安装haproxy包
修改配置文件/etc/haproxy/haproxy.cfg
-删除注释行
-删除31行以下全部
-新增代码

 listen mysql_3306 192.168.4.9:3306
 mode tcp
 option  tcpka				//
 balance roundrobin	//轮询调度算法
 server mysql_01 192.168.4.71:3306 check
 server mysql_02 192.168.4.72:3306 check
 server mysql_03 192.168.4.73:3306 check

重启服务

systemctl start haproxy

客户端访问192.168.4.9这台机器,测试结果

mysql -h192.168.4.9 -uadmin -p123456 -e "select @@hostname"
mysql -h192.168.4.9 -uadmin -p123456 -e "select @@hostname"
mysql -h192.168.4.9 -uadmin -p123456 -e "select @@hostname"

你可能感兴趣的:(数据库集群搭建--PXC集群)