1 基础环境
我们对3台国外服务器进行配置,集群网络名字是Mysql_Cluster,IP如下:
2 方案介绍
Percona XtraDB Cluster(简称PXC)集群是基于Galera 2.xlibrary,事务型应用下的通用的多主同步复制插件,主要用于解决强一致性问题,使得各个节点之间的数据保持实时同步以及实现多节点同时读写。提高了数据库的可靠性,也可以实现读写分离,是MySQL关系型数据库中大家公认的集群优选方案之一。
3 部署环境
3.1 下载需要的软件
需要安装的软件列表如下,可去官方下载最新的版本,推荐编译安装:
3.2 下载解包
执行以下语句获取Percona XtraBackup:
执行以下语句获取Percona XtraDB Cluster:
3.3 安装Percona XtraBackup热备
安装依赖库:
执行以下指令执行编译:
3.4 安装Percona XtraDB Cluster (MYSQL PXC) 集群
3.4.1 安装Percona XtraDB Cluster (MYSQL PXC)的MYSQL部分
安装依赖库:
执行以下指令执行编译:
3.4.2 安装Percona Xtradb Cluster Galera部分
先解决依赖问题:
执行以下指令执行编译:
3.5 配置环境
我们在3台集群节点的服务器上配置这个环境,并配置/etc/my.cnf文件如下:
216.189.158.188
216.189.149.229
107.175.145.219
3.6 数据库初始化
执行以下指令初始化数据库:
执行如下指令获取初始密码:
执行如下指令按照提示执行初始化安全系统和修改默认密码:
3.7 首次启动第一个节点
执行如下指令启动第一个节点首次启动:
对于其他节点则执行以下指令首次进行初始化:
3.8 后续正常启动
初始化完成后,可以恢复正常启动,重新启动服务以执行以下指令正常启动:
3.9 测试集群
使用如下命令启动进入控制台
输入密码后登陆进入空控制台,输入以下执行语句:
可查询目前的集群节点数,安装成功。
3.10 注意
PXC集群网络会使用4个端口,分别是:
3306:mysql数据库的数据库默认端口
4444:在新加入节点进行SST(全量数据同步的时候使用的端口)
4567: 组成员之间进行沟通的一个端口号
4568:传输IST用的。相对于SST来说的一个增量。
我在配置环境的时候,曾经出现找不到xtrabackup等程序的情况,可以使用如下指令做一个软连接:
由于PXC基于socat,根据错误提示可能需要安装socat,按如下方式安装:
集群排查问题的时候,不要只看当前节点,有的时候报错出现在其他节点,造成同步异常,需要合理判断异常原因。
集群中不要使用显式锁操作,注意每张表一定要有主键。
PXC高可用集群网络强调强一致性,本身是为了解决强一致性问题的高可用集群方案,性能由集群节点中最慢的节点而决定。
最好不要全部彻底退出后更新配置,然后重新启动,如果要重新开始引导节点,第一节点使用mysqld_safe --wsrep-new-cluster进行引导,可能会发生错误,错误描述明确告诉你,从这个节点引导PXC可能不安全,如果要强制引导,需要修改grastate.dat文件的safe_to_bootstrap: 0修改成safe_to_bootstrap: 1然后使用引导命令即可引导启动第一节点,后续节点可以正常启动。
0
0
vote
Article Rating