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%';

相关推荐
虎头金猫2 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
AI职业加油站2 天前
AI智能体应用工程师证书:政策红利下的职业新风口
大数据·运维·人工智能·学习·职场发展
此冬歌咏2 天前
K8s 节点故障实战:优雅驱逐 31 秒,硬故障 331 秒,以及那个永远 Pending 的 Pod
运维·k8s
-梅2 天前
linux(8) 软硬链接
linux·运维·服务器
张洛闻Eren2 天前
k8s云原生【第十课】:水平 Pod 自动扩缩容
运维·数据库·云原生·kubernetes·github
其实防守也摸鱼2 天前
内网穿透与反向代理:原理、工具与实战指南
android·大数据·运维·安全·网络安全·自动化·渗透
布裘2 天前
【银河麒麟】V4桌面图标消失,右击鼠标没反应排查
运维·银河麒麟·桌面环境
懂软件的胡子个哥2 天前
微信机器人为什么需要“回复候选”而不是所有 AI 内容直接发送
运维·微信·自动化·wechatapi·个人微信号二次开发
云贝贝贝2 天前
腾讯云 TDSQL(MySQL 版)性能优化与慢查询排障实战 6 招
运维·腾讯云
Lsetea2 天前
证书没到期却报certificate has expired:OpenSSL定位中间证书与系统时间
运维·https·ssl证书·openssl·证书链