MYSQL利用PXC实现高可用
PXC常用端口
-
3306:数据库对外服务端口号
-
4444:请求SST的端口
-
4567:组成员之间进行沟通的端口号
-
4568:用于传输IST
搭建PXC集群
服务配置:
主机系统:rocky8.0
主机1:172.25.254.101 主机名:pxc1
主机2:172.25.254.102 主机名:pxc2
主机3:172.25.254.103 主机名:pxc3
三主机都需要更改的配置 yum module disable mysql #关闭自带的mysql服务 yum install https://repo.percona.com/yum/percona-release-latest.noarch.rpm #安装PXC配置包 percona-release setup pxc-80 #配置 Percona 软件源 yum install percona-xtradb-cluster #安装Percona服务
更改配置文件
vim /etc/my.cnf
添加域名解析
vim /etc/hosts
引导第一个节点
systemctl start mysql@bootstrap.service #任意节点执行此命令时,程序默认此节点为第一个节点,并初始化集群,该程序自带mysql服务
如果第一台主机要关闭此服务应用此命令
systemctl stop mysql@bootstrap.service
其他两台主机启动mysql服务
systemctl start mysql.service
获取mysql临时密码以登录mysql
grep -i password /var/log/mysqld.log
查看Galera 集群状态
mysql> show status like 'wsrep%';
注,若另外两台主机无法启动mysql服务解决办法:
以pxc1和pxc2举例:pxc1为第一台启动主机,pxc2为无法启动mysql服务主机
在pxc2中删除此文件
/var/lib/mysql/*.pem
把pxc1相应文件拷贝到pxc2中
scp /var/lib/mysql/*.pem pxc2:/var/lib/mysql
因为是root身份拷贝的文件,所以要更改文件权限
chown mysql.mysql *.pem
此时mysql服务已启动