侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

Percona XtraDB Cluster Installation Guide

2024-05-12 星期日 / 0 评论 / 0 点赞 / 93 阅读 / 3798 字

Percona XtraDB Cluster(简称PXC)集群是基于Galera,事务型应用下的通用的多主同步复制插件,主要用于解决强一致性问题,使得各个节点之间的数据保持实时同步以及实现多节点同时读

Percona XtraDB Cluster(简称PXC)集群是基于Galera,事务型应用下的通用的多主同步复制插件,主要用于解决强一致性问题,使得各个节点之间的数据保持实时同步以及实现多节点同时读写。提高了数据库的可靠性,也可以实现读写分离,是MySQL关系型数据库中大家公认的集群优选方案之一。

1、安装PXC软件包

这里使用的是官方最新的软件包Percona XtraDB Cluster 5.7.22-29.26,对应的操作系统是Oracle Linux 7.5。主机列表如下表所示:

在各个节点分别使用yum进行安装,如下:

[root@mydb03 ~]# yum -y install Percona-XtraDB-Cluster-57[root@mydb04 ~]# yum -y install Percona-XtraDB-Cluster-57[root@mydb05 ~]# yum -y install Percona-XtraDB-Cluster-57

安装完成后,分别启动各个节点的MySQL服务,更改root@localhost的密码,更改完成后再关闭MySQL服务。以mydb03作为示例,如下:

[root@mydb03 ~]# grep 'temporary password' /var/log/mysqld.log[root@mydb03 ~]# mysql -uroot -pmysql> alter user root@localhost identified by “abcABC@12”;mysql> flush privileges;

2、编辑PXC配置文件

编辑/etc/percona-xtradb-cluster.conf.d/mysqld.cnf文件,修改或者加入如下内容:

#mydb03对应1,mydb04对应2,mydb05对应3server-id=1     expire_logs_days=1log_timestamps=systemcollation-server=utf8_general_cicharacter-set-server = utf8

编辑/etc/percona-xtradb-cluster.conf.d/wsrep.cnf文件,修改以下内容:

[mysqld]wsrep_provider=/usr/lib64/galera3/libgalera_smm.so#加入各个节点的IPwsrep_cluster_address=gcomm://192.168.120.129,192.168.120.130,192.168.120.131binlog_format=ROWdefault_storage_engine=InnoDBwsrep_slave_threads= 8wsrep_log_conflictsinnodb_autoinc_lock_mode=2#节点主机名,其他节点需要更改wsrep_node_name=mydb03#节点IP,其他节点需要更改wsrep_node_address=192.168.120.129#集群名称wsrep_cluster_name=pxc-clusterpxc_strict_mode=ENFORCINGwsrep_sst_method=xtrabackup-v2#sstuser用户的密码任意设置wsrep_sst_auth="sstuser:passw0rd"

3、启动PXC集群服务

首先在mydb03上启动PXC集群服务,其它节点后续再加进来即可。

[root@mydb03 ~]# systemctl start [email protected][root@mydb03 ~]# mysql -uroot -pmysql> show status like 'wsrep%';


创建配置文件里定义的sstuser用户(只在第一个启动的节点执行,其他节点启动后会自行同步)。

mysql> CREATE USER 'sstuser'@'localhost' IDENTIFIED BY 'passw0rd';mysql> GRANT RELOAD, LOCK TABLES, PROCESS, REPLICATION CLIENT ON *.* TO 'sstuser'@'localhost';mysql> FLUSH PRIVILEGES;

将其它节点加入集群,只要启动MySQL服务即可。

[root@mydb04 ~]# systemctl start mysqld[root@mydb05 ~]# systemctl start mysqld

集群状态验证:

mysql> show status like '%wsrep_clust%';

4、PXC同步测试

任意一节点创建表或者数据库,在其他节点查询验证:

[root@mydb03 ~]# mysql -uroot -pmysql> create database xdb;[root@mydb04 ~]# mysql -uroot -pmysql> show databases;

广告 广告

评论区