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 [email protected].$i:/var/lib/mysql/; done

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

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

systemctl start [email protected]

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

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

查询集群信息

show status like 'wsrep%';

相关推荐
ALex_zry1 小时前
SSH主机密钥验证失败:全面解决方案与技术手册
运维·ssh
厦门辰迈智慧科技有限公司2 小时前
城市排水管网流量监测系统解决方案
运维·服务器
我没有开挂2 小时前
旧 docker 版本通过 nvkind 搭建虚拟多节点 gpu 集群的坑
运维·docker·容器
qq_339282232 小时前
centos中libc.so.6No such file的解决方式
linux·运维·centos
小鸡,啄米3 小时前
centos9安装docker 配置docker代理
运维·docker·容器
水银嘻嘻3 小时前
12 web 自动化之基于关键字+数据驱动-反射自动化框架搭建
运维·前端·自动化
在肯德基吃麻辣烫3 小时前
Netdata在Ubuntu环境下的安装与配置:构建实时系统监控与性能分析平台
linux·运维·ubuntu
不念霉运4 小时前
Gitee DevOps:中国企业数字化转型的“本土化加速器“
运维·gitee·团队开发·代码规范·devops·代码复审
安迪小宝4 小时前
6 任务路由与负载均衡
运维·python·celery
遇见火星4 小时前
jenkins流水线常规配置教程!
运维·docker·jenkins