PXC: Percona XtraDB Cluster,是Percona对Galera的实现
参考仓库:https://mirrors.tuna.tsinghua.edu.cn/percona/release/7/os/x86_64/
原理:任何一台机器上建立数据,其他数据相互复制
了解:
PXC最常使用如下4个端口号:
3306:数据库对外服务的端口号
4444:请求SST的端口号
4567:组成员之间进行沟通的端口号
4568:用于传输IST的端口号
准备:确认防火墙和SELinux关闭 时间同步
四台主机
pxc1:10.0.0.7
pxc2:10.0.0.17
pxc3:10.0.0.27
pxc4:10.0.0.37
第一步: 安装 Percona XtraDB Cluster 5.7
配置repo源 vim /etc/yum.repos.d/pxc.repo
[percona]
name=percona_repo
baseurl =https://mirrors.tuna.tsinghua.edu.cn/percona/release/$releasever/RPMS/$basearch
enabled = 1
gpgcheck = 0
将该源拷贝给17和27,37主机
root@pxc1 ~]#scp /etc/yum.repos.d/pxc.repo 10.0.0.17:/etc/yum.repos.d
root@pxc1 ~]#scp /etc/yum.repos.d/pxc.repo 10.0.0.27:/etc/yum.repos.d
root@pxc1 ~]#scp /etc/yum.repos.d/pxc.repo 10.0.0.37:/etc/yum.repos.d
配置好以后 建议执行
yum makecache
yum update
然后执行:
yum -y install Percona-XtraDB-Cluster-57
第二 修改wsrep.cnf文件 vim /etc/percona-xtradb-cluster.conf.d/wsrep.cnf
如图,将几台测试的主机ip加入 在这里37暂时不要加,后续作为增加使用
如图,在每台主机的wsrep.cnf里 改成本机的ip 第几台改成对应的数字
将文件scp到其他主机,需要更改上图所示内容 (本机ip和显示第几台的)
scp /etc/percona-xtradb-cluster.conf.d/wsrep.cnf 10.0.0.17:/etc/percona-xtradb-cluster.conf.d/
scp /etc/percona-xtradb-cluster.conf.d/wsrep.cnf 10.0.0.27:/etc/percona-xtradb-cluster.conf.d/
第三步,启动
PXC集群中第一个节点 (方法和其他节点不一样)
第一个启动节点方法是:systemctl start mysql@bootstrap.service
[root@pxc1 ~]#systemctl start mysql@bootstrap.service
查看端口已经开启
然后登录:密码生成了一个随机口令 需要执行命令
grep “temporary password” /var/log/mysqld.log导出
临时登录 mysql -uroot -p’pl8r:T#A5-8’
示例,连最基本的查询都无法操作;只能更改密码
修改密码执行
常规修改密码无法执行;mysqladmin -uroot -p’pl8r:T#A5-8’ password ‘123456’
进入mysql里修改: alter user ‘root’@‘localhost’ identified by ‘123456’;
修改完后可以访问
创建相关用户并授权
mysql> CREATE USER 'sstuser'@'localhost' IDENTIFIED BY 's3cretPass';
mysql> GRANT RELOAD, LOCK TABLES, PROCESS, REPLICATION CLIENT ON *.* TO 'sstuser'@'localhost';
说明:在级联、主主、半同步、mycat、mha、percona所有测试中,master机器上都需要创建用户和授权
#查看相关变量
mysql>SHOW VARIABLES LIKE 'wsrep%'\G
集群名称:
#查看相关状态变量
SHOW STATUS LIKE ‘wsrep%’\G
目前没有其他机器链接,只有主机一台
启动PXC集群中其他所有节点
在17和27上执行systemctl start mysql
[root@pxc1 ~]#mysql -uroot -p123456 -e "SHOW STATUS LIKE 'wsrep%'" |grep size
再查看 已经有3台主机相连了;
至此 集群搭建完成
在任意一个节点上创建数据,其他节点都可以同步
但是在同一个文件夹下创建数据 会冲突,只能在一台主机上创建!
第四步: 测试性能
在7上导入数据
执行 call sp_testlog;
在17和27上查看select count(*) from testlog;
第五步:增加第四个节点
1.先安装:配置repo后 执行 yum -y install Percona-XtraDB-Cluster-57
2.将配置文件复制到最后一个节点
scp /etc/percona-xtradb-cluster.conf.d/wsrep.cnf 10.0.0.37:/etc/percona-xtradb-cluster.conf.d/wsrep.cnf
加入ip 修改节点
3.启动服务 systemctl start mysql
至此 设置完成
谢谢观赏