当前位置: 首页 > news >正文

MySQL使用pxc实现高可用

准备三台主机

IP角色名
192.168.1.51PXC1
192.168.1.52PXC2
192.168.1.53PXC3

三台主机配置主机名

[root@localhost ~]# hostnamectl set-hostname pxc1
[root@localhost ~]# hostnamectl set-hostname pxc2
[root@localhost ~]# hostnamectl set-hostname pxc3

停止mysql服务 

[root@localhost ~]# yum module disable mysql

安装Percona XtraDB Cluster(三台主机均进行此操作)

#添加 Percona 存储库
[root@localhost ~]# yum install https://repo.percona.com/yum/percona-release-latest.noarch.rpm
[root@localhost ~]# percona-release setup pxc-80
#安装pxc
[root@localhost ~]# yum install percona-xtradb-cluster

配置文件

pxc1(192.168.1.51)

[root@localhost ~]# /etc/my.cnf
[mysqld]
server-id=51
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

wsrep_cluster_address=gcomm://192.168.1.51,192.168.1.52,192.168.1.53
wsrep_node_address=192.168.1.51
wsrep_node_name=pxc1

pxc2(192.168.1.52)

[root@localhost ~]# /etc/my.cnf
[mysqld]
server-id=52
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

wsrep_cluster_address=gcomm://192.168.1.51,192.168.1.52,192.168.1.53
wsrep_node_address=192.168.1.52
wsrep_node_name=pxc2

pxc3(192.168.1.53) 

[root@localhost ~]# /etc/my.cnf
[mysqld]
server-id=53
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

wsrep_cluster_address=gcomm://192.168.1.51,192.168.1.52,192.168.1.53
wsrep_node_address=192.168.1.53
wsrep_node_name=pxc3

启动之前确保三台主机用同一套 密钥和证书

[root@localhost ~]# scp /var/lib/mysql/*.pem pxc2:/var/lib/mysql/
[root@localhost ~]# scp /var/lib/mysql/*.pem pxc3:/var/lib/mysql/

 修改权限

pxc2(192.168.1.52)

[root@localhost ~]# chown -R mysql.mysql /var/lib/mysql/

pxc3(192.168.1.53) 

[root@localhost ~]# chown -R mysql.mysql /var/lib/mysql/

启动服务

pxc1(192.168.1.51)

[root@localhost ~]# systemctl start mysql@bootstrap.service

pxc2(192.168.1.52)

[root@localhost ~]# systemctl start mysql.service

pxc3(192.168.1.53)

[root@localhost ~]# systemctl start mysql.service

 进入MySQL服务(修改密码之后)

[root@localhost mysql]# mysql -u root -p'123456'
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 31
Server version: 8.0.41-32.1 Percona XtraDB Cluster (GPL), Release rel32, Revision 9cd31bf, WSREP version 26.1.4.3

Copyright (c) 2009-2025 Percona LLC and/or its affiliates
Copyright (c) 2000, 2025, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

 查询 Percona XtraDB Cluster (PXC) 集群的视图信息

mysql> select * from performance_schema.pxc_cluster_view;
+-----------+--------------------------------------+--------+-------------+---------+
| HOST_NAME | UUID                                 | STATUS | LOCAL_INDEX | SEGMENT |
+-----------+--------------------------------------+--------+-------------+---------+
| pxc1      | 04e534f3-0333-11f0-b3eb-636663cd336a | SYNCED |           0 |       0 |
| pxc3      | af3108bc-0334-11f0-be46-9bcd0d0e82c0 | SYNCED |           1 |       0 |
| pxc2      | bee7cc62-0334-11f0-a0c9-5f47d1b228fe | SYNCED |           2 |       0 |
+-----------+--------------------------------------+--------+-------------+---------+
3 rows in set (0.01 sec)

 查看 Percona XtraDB Cluster (PXC) 相关状态(可以在任意一个节点执行以下命令)

mysql> show status where Variable_name in ('wsrep_cluster_size','wsrep_cluster_status','wsrep_connected','wsrep_ready') ;
+----------------------+---------+
| Variable_name        | Value   |
+----------------------+---------+
| wsrep_cluster_size   | 3       |
| wsrep_cluster_status | Primary |
| wsrep_connected      | ON      |
| wsrep_ready          | ON      |
+----------------------+---------+
4 rows in set (0.00 sec)

相关文章:

  • 【软件系统架构】单体架构
  • 突破 HTML 学习瓶颈:表格、列表与表单的学习进度(一)
  • 【Opencv中的Jpeg有损压缩】
  • 功能强大的电脑硬件检测及驱动安装工具
  • 【计算机视觉】工业表计读数(3)--指针及刻度关键点识别
  • Spring Boot 事务详解
  • 滑动数组-定长滑动数组
  • SSH无法使用root用户进行登陆的解决方法
  • 【HarmonyOS Next】鸿蒙应用实现弹框DialogHub详解
  • Excel(函数进阶篇):Vlookup函数进阶、TAKE嵌套SORE函数、SUBTOTAL函数、INDIRECT函数
  • 华为全流程全要素研发项目管理(81页PPT)(文末有下载方式)
  • 蓝桥杯练习day1:拆分数位-四位数字的最小和
  • 【深度解析】48V转24V/5A宽压电源芯片:SOT23-5封装+外挂MOS管应用方案
  • rust学习笔记17-异常处理
  • 《心理学与生活》2025最新网课答案
  • Python的Pytest(2)
  • C语言 常用系统函数
  • 蓝桥云客 找素数
  • reconstruct_3d_object_model_for_matching例子
  • C# WPF编程-Menu
  • 广药集团原董事长李楚源被“双开”:去年8月被查,曾多次发表争议言论
  • 舞者王佳俊谈“与AI共舞”:像多了一个舞伴,要考虑它的“感受”
  • 河南一女子被医院强制带走治疗,官方通报:当值医生停职
  • 词条数量大幅扩充,《辞海》第八版启动编纂
  • 小米汽车机盖门陷谈判僵局,车主代表称小米表示“退订会造成崩塌”
  • 长三角首次,在铁三赛事中感受竞技与生态的共鸣