配置mysql8.0使用PXC实现高可用

1.搭建 PXC 集群:

Percona XtraDB Cluster (简称 PXC)集群是基于 Galera 2.x library,事务型应用下的通用的多主同步复制插件,主要用于解决强一致性问题,使得各个节点之间的数据保持实时同步以及实现多节点同时读写。提高了数据库的可靠性,也可以实现读写分离,是 MySQL 关系型数据库中大家公认的集群优选方案之一。

2..实验准备:

准备三台试验机,IP如下:

3.实验配置:

配置hosts解析:

(三台都要配)

python 复制代码
vim /etc/hosts

3.1安装pxc集群并进行配置:

参考官网文档:https://docs.percona.com/percona-xtradb-cluster/8.0/yum.html

RHEL 8 和其他 EL8 系统默认启用 MySQL 模块。此模块隐藏了 Percona 提供的软件包,并且必须禁用该模块才能使这些软件包可见。以下命令将禁用该模块:

yum module disable mysql

进行安装:

python 复制代码
//安装 Percona 仓库配置包
yum install https://repo.percona.com/yum/percona-release-latest.noarch.rpm

//设置 Percona 仓库以启用 PXC 8.0
percona-release setup pxc-80

//安装 Percona XtraDB Cluster
yum install percona-xtradb-cluster

修改 /etc/my.cnf 文件配置

python 复制代码
vim /etc/my.cnf

修改如下图:

pxc1:

pxc2:

pxc3:

3.2启动pxc1:

安装完成后在第一个节点需要以引导模式启动:(我这里在pxc1上启动)

python 复制代码
 systemctl start mysql@bootstrap.service

接着查找临时密码:

python 复制代码
grep -i password /var/log/mysqld.log

用临时密码登录mysql:

python 复制代码
mysql -u root -p 

修改密码:

python 复制代码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Rin@123';

3.3确保集群使用一套证书:

将pxc1的证书复制给pxc2和pxc3,同时进行相关文件权限修改:

(在pxc1上操作)

python 复制代码
scp /var/lib/mysql/*.pem pxc2:/var/lib/mysql/
scp /var/lib/mysql/*.pem pxc3:/var/lib/mysql/

修改pxc2和pxc3的证书文件权限:

python 复制代码
[root@pxc2 ~]# chown -R mysql.mysql /var/lib/mysql/
[root@pxc3 ~]# chown -R mysql.mysql /var/lib/mysql/

3.4启动MySQL:

节点2和3正常启动MySQL

python 复制代码
​[root@pxc2 ~]# systemctl start mysql
[root@pxc3 ~]# systemctl start mysql

注意:启动mysql服务时要将集群防火墙关闭,三个都要敲!!! -----systemctl stop firewall

查看MySQL是否启动:

python 复制代码
systemctl status mysql

查看集群状态信息:(在随便一个节点查看)

python 复制代码
 show status where Variable_name in ('wsrep_cluster_size','wsrep_cluster_status','wsrep_connected','wsrep_ready') ;

3.5关闭节点

PXC 集群允许动态下线节点,但需要注意的是节点的启动命令和关闭命令必须一致,

第一个节点必须以引导模式来进行关闭:

python 复制代码
systemctl stop mysql@bootstrap.service

其余节点可以安装正常方式关闭:

python 复制代码
systemctl stop mysql
相关推荐
nightunderblackcat23 分钟前
进阶向:人物关系三元组,解锁人物关系网络的钥匙
开发语言·python·开源·php
站大爷IP39 分钟前
Pandas与NumPy:Python数据处理的双剑合璧
python
站大爷IP1 小时前
Python枚举进化论:IntEnum与StrEnum的实战指南
python
甄超锋1 小时前
python sqlite3模块
jvm·数据库·python·测试工具·django·sqlite·flask
R-G-B2 小时前
OpenCV Python——Numpy基本操作(Numpy 矩阵操作、Numpy 矩阵的检索与赋值、Numpy 操作ROI)
python·opencv·numpy·numpy基本操作·numpy 矩阵操作·numpy 矩阵的检索与赋值·numpy 操作roi
细节处有神明2 小时前
Jupyter 中实现交互式图表:ipywidgets 从入门到部署
ide·python·jupyter
小小码农一只2 小时前
Python 爬虫实战:玩转 Playwright 跨浏览器自动化(Chromium/Firefox/WebKit 全支持)
爬虫·python·自动化
深盾安全4 小时前
Python脚本安全防护策略全解析(上)
python
杜子不疼.4 小时前
《Python学习之使用标准库:从入门到实战》
开发语言·python·学习
胡耀超4 小时前
从哲学(业务)视角看待数据挖掘:从认知到实践的螺旋上升
人工智能·python·数据挖掘·大模型·特征工程·crisp-dm螺旋认知·批判性思维