本文共 2156 字,大约阅读时间需要 7 分钟。
Percona XtraDB Cluster(简称PXC)集群是基于Galera,事务型应用下的通用的多主同步复制插件,主要用于解决强一致性问题,使得各个节点之间的数据保持实时同步以及实现多节点同时读写。提高了数据库的可靠性,也可以实现读写分离,是MySQL关系型数据库中大家公认的集群优选方案之一。
这里使用的是官方最新的软件包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;
编辑/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"
首先在mydb03上启动PXC集群服务,其它节点后续再加进来即可。
[root@mydb03 ~]# systemctl start mysql@bootstrap.service[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%';
任意一节点创建表或者数据库,在其他节点查询验证:
[root@mydb03 ~]# mysql -uroot -pmysql> create database xdb;[root@mydb04 ~]# mysql -uroot -pmysql> show databases;
转载地址:http://cwrhx.baihongyu.com/