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

相关推荐
本尊是喵9 分钟前
AutoDL--FileZilla--VS Code远程连接
运维·服务器
网络小白不怕黑36 分钟前
11.虚拟机模拟路由器实验
linux·运维·服务器·网络
Mapleay42 分钟前
Linux 内核编程基础
linux·运维·服务器
大博士.J1 小时前
浏览器自动化工具选型实战
运维·自动化
承渊政道1 小时前
OneNav书签导航实操:极空间Docker部署、分类整理与公网访问
运维·docker·内网穿透·cpolar·nas·onenav·轻量级部署
2601_963016261 小时前
统一消息与事件调用:如何用微信接口把微信自动化做成稳健中台?
大数据·运维·人工智能·微信·自动化
天蓝的想1 小时前
Kueue 如何管理 DRA 模式下的 GPU 配额
运维·服务器
DianSan_ERP10 小时前
电商架构演进:如何在高并发场景下实现多平台API的标准化履约?
运维·前端·网络·安全·架构·自动化
恒53910 小时前
Linux文件系统I
linux·运维·服务器
阿成学长_Cain10 小时前
Linux ipcs 命令超全详解:查看共享内存 / 消息队列 / 信号量,IPC 运维必备
linux·运维·服务器·网络·数据库