实验: mysql8.0使用PXC实现高可用

搭建 PXC 集群

三台Rocky -Linux主机

IP端口角色
192.168.1.513306pxc1
192.168.1.523306pxc2
192.168.1.533306pxc3

查看防火墙firewall和getenforce状态,是否关闭

[root@Rocky-1 ~]# sudo firewall-cmd --state
not running
[root@Rocky-1 ~]# getenforce
Disabled

配置hosts解析——三台设备均配置

禁用MySQL模块,使用自带的模块

sudo yum module disable mysql

yum install https://repo.percona.com/yum/percona-release-latest.noarch.rpm
percona-release setup pxc-80
yum install percona-xtradb-cluster

初始化数据库

 vim /etc/my.cnf

其余设备同理

启动 mysql,修改密码

注意:首节点,第一个节点需要以引导模式启动

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

 查看临时密码
 

进入MySQL,并修改密码

接着在第二和第三个节点上正常启动数据库服务,命令如下:

注意:第一个节点加入的集群,与后续加入的节点证书不一致,需要将后续加入的节点的证书删除 ,并拷贝第一个节点的证书

拷贝证书后,文件权限会改变

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

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

查询集群信息

mysql> show status like 'wsrep%';

或者 

查看 PXC 集群状态信息,在任意一个节点执行以下命令:

[root@pxc1 ~]# mysql -uroot -p123456 -e "show status like 'wsrep_cluster%';"
mysql: [Warning] Using a password on the command line interface can be insecure.
+----------------------------+--------------------------------------+
| Variable_name              | Value                                |
+----------------------------+--------------------------------------+
| wsrep_cluster_weight       | 3                                    |
| wsrep_cluster_capabilities |                                      |
| wsrep_cluster_conf_id      | 3                                    |
| wsrep_cluster_size         | 3                                    |
| wsrep_cluster_state_uuid   | 47f68dce-940c-11ee-85d5-c29e7cbcc6e4 |
| wsrep_cluster_status       | Primary                              |
+----------------------------+--------------------------------------+

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)

验证:

  • 在第二个节点上创建新数据库
    • mysql@pxc2> CREATE DATABASE percona;
  • 切换到新创建的数据库
    • mysql@pxc3> USE percona;
  • 在第三个节点上创建一个表
    • mysql@pxc3> CREATE TABLE example (node_id INT PRIMARY KEY, node_name VARCHAR(30));
  • 在第一个节点上插入记录
    • mysql@pxc1> INSERT INTO percona.example VALUES (1, 'percona1');
  • 在第二个节点上从该表中检索行
    • mysql@pxc2> SELECT * FROM percona.example;

参考:PXC某个节点异常恢复_51CTO博客的技术博客_51CTO博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值