Mysql8.0使用PXC

1、什么是PXC

PXC 是一套 MySQL 高可用集群解决方案,与传统的基于主从复制模式的集群架构相比 PXC 最突出特点就是解决了诟病已久的数据复制延迟问题,基本上可以达到实时同步。而且节点与节点之间,他们相互的关系是对等的。PXC 最关注的是数据的一致性,对待事物的行为时,要么在所有节点上执行,要么都不执行,它的实现机制决定了它对待一致性的行为非常严格,这也能非常完美的保证 MySQL 集群的数据一致性;

2、实践

首先准备三台实验机

|--------------|------|------|
| IP | 端口 | 角色 |
| 192.168.1.51 | 3306 | pxc1 |
| 192.168.1.52 | 3306 | pxc2 |
| 192.168.1.53 | 3306 | pxc3 |

1、从Percona 软件仓库安装(三台主机都要做)

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

复制代码
yum module disable mysql

在Red Hat 8 或更高版本上安装

yum install https://repo.percona.com/yum/percona-release-latest.noarch.rpm

percona-release setup pxc-80

yum install percona-xtradb-cluster

修改root用户密码和创建用于远程登录测试的用户:

systemctl start mysqld

tmp_pwd=(awk '/temporary password/ {print NF}'

mysql -uroot -p$tmp_pwd

登录之后修改root用户密码:alter user root@localhost identified with mysql_native_password by 'MySQL@123';

创建新用户:create user 'test'@'%' identified with mysql_native_password by 'MySQL@123';

赋予权限:grant all privileges on *.* to 'test'@'%' ;

记得在所有主机都需要执行一遍

systemctl stop mysqld

配置

1、不用登陆时输密码

user=root

password=MySQL@123

2、集群的所有IP地址

wsrep_cluster_address=gcomm://192.168.1.51,192.168.1.52,192.168.1.53

3.当前节点的IP地址

wsrep_node_address=192.168.40.52

4.集群名称

wsrep_cluster_name=pxc-cluster

5.当前节点名称

wsrep_node_name=pxc2

6.服务id(这里不能相同和其他节点),这里取IP主机号

server-id=52

启动pxc

#各个节点

rm -rf /var/lib/mysql/*.pem

#启动节点

for i in {51,53} ; do scp /var/lib/mysql/*.pem root@192.168.1.$i:/var/lib/mysql/; done

chown mysql:mysql /var/lib/mysql*.pem

以上准备工作就做好了,现在可以启动mysql了

systemctl start mysql@bootstrap.service

其他节点正常启动即可:systemctl start mysqld

然后可以登入pxc,然后可以使用以下命令验证结果

查询集群信息

show status like 'wsrep%';

相关推荐
Allen_LVyingbo7 分钟前
面向电子病历的批量语义分析自动化工具:从设计到实战(上)
运维·人工智能·机器学习·语言模型·自然语言处理·自动化·健康医疗
Interview Aid11210 分钟前
Akuna OA 题目拆解|三题思路复盘
linux·运维·算法·面试·职场和发展
小无名呀30 分钟前
Docker的使用
运维·docker·容器
张洛闻Eren31 分钟前
云原生k8s【第五课】:资源配额与限制
运维·数据库·云原生·kubernetes·k8s·github
.柒宇.36 分钟前
运维常见面试题_07_配置管理与监控(Ansible · Prometheus · Alertmanager)· 容器编排(Kubernetes)
运维·k8s·ansible·prometheus
瀚高PG实验室39 分钟前
PostgreSQL 服务器因整数回绕导致分配空间过小HGVE-2026-E008
运维·服务器·数据库·瀚高数据库
程序员无隅40 分钟前
远程控制补上了 Agent 的最后一公里:WorkBuddy 的多端协同体验
运维·服务器
mwmbfh1 小时前
【CentOS7环境下Redis 6.2.14 源码编译部署说明】
linux·运维·数据库·redis
做一个AK梦1 小时前
DevOps
运维·devops
hzxpaipai1 小时前
杭州网站运维|企业官网上线前技术检查清单:SEO、GEO、安全、服务器与备份
运维·服务器·nginx·安全