PXC搭建MySQL8集群

一、环境准备

1、CentOS 7.9.x

2、Percona XtraDB Cluster 8.0.x

3、Navicat Premium 15.0.27 

4、准备 3 台 CentOS 7.9.x 服务器

IP_1:192.168.101.111

IP_2:192.168.101.112

IP_3:192.168.101.113

二、使用 yum 安装 pxc 8.0.x

在3台服务器上参考以下步骤依次安装

2.1 安装 percona-release

yum install https://repo.percona.com/yum/percona-release-latest.noarch.rpm -y

2.2 配置 percona 存储库

percona-release enable-only ps-80 release
percona-release enable-only pxb-80 release
percona-release enable-only pdps-8.0.23 release
percona-release enable-only pdpxc-8.0.23 release

2.3 安装 pxc 和 创建远程连接用户

# 安装 pxc
yum install percona-xtradb-cluster -y

# 启动MySQL
service mysql start

# 查看初始密码
grep 'temporary password' /var/log/mysqld.log

# 登录 MySQL
mysql -u root -p

# 修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root' ;

# 查看 MySQL 版本
select @@version ;

# 创建 远程连接用户 'ymalls'
create user 'ymalls'@'%' identified by 'ymalls' ;

# 授予权限
grant all privileges on *.* to 'ymalls'@'%' ;
flush privileges;

2.4 修改 my.cnf

vim /etc/my.cnf

# 修改或加入
# ------------------------
[mysqld]
default_storage_engine=InnoDB
skip-name-resolve
pxc-encrypt-cluster-traffic=OFF

[sst]
pxc-encrypt-cluster-traffic=OFF

# ------------------------------

# 重启 MySQL
service mysql restart

三、集群搭建步骤

3.1 停止3台服务器上的 MySQL 服务  service mysql stop

3.2 在 192.168.101.111 配置第1个(初始)节点 node1

vim /etc/my.cnf

# ----------------
[mysqld]
server-id=1
binlog_expire_logs_seconds=604800
wsrep_provider=/usr/lib64/galera4/libgalera_smm.so
wsrep_cluster_address=gcomm://
binlog_format=ROW
wsrep_slave_threads=8
wsrep_log_conflicts
innodb_autoinc_lock_mode=2
wsrep_cluster_name=pxc-cluster
wsrep_node_address=192.168.101.111
wsrep_node_name=node1
pxc_strict_mode=ENFORCING
wsrep_sst_method=xtrabackup-v2

# ---------------

# 保存后 启动 第1个节点
service mysql start


# 查看集群是否初始化
mysql -u root -p'root'
show status like 'wsrep%';

# 如下 
+----------------------------+--------------------------------------+
| Variable_name              | Value                                |
+----------------------------+--------------------------------------+
| wsrep_local_state_uuid     | c2883338-834d-11e2-0800-03c9c68e41ec |
| ...                        | ...                                  |
| wsrep_local_state          | 4                                    |
| wsrep_local_state_comment  | Synced                               |
| ...                        | ...                                  |
| wsrep_cluster_size         | 1                                    |
| wsrep_cluster_status       | Primary                              |
| wsrep_connected            | ON                                   |
| ...                        | ...                                  |
| wsrep_ready                | ON                                   |
+----------------------------+--------------------------------------+

3.3 在 192.168.101.112 配置第2个节点 node2

vim /etc/my.cnf

# ----------------
[mysqld]
server-id=2
binlog_expire_logs_seconds=604800
wsrep_provider=/usr/lib64/galera4/libgalera_smm.so
wsrep_cluster_address=gcomm://192.168.101.111,192.168.101.112,192.168.101.113
binlog_format=ROW
wsrep_slave_threads=8
wsrep_log_conflicts
innodb_autoinc_lock_mode=2
wsrep_cluster_name=pxc-cluster
wsrep_node_address=192.168.101.112
wsrep_node_name=node2
pxc_strict_mode=ENFORCING
wsrep_sst_method=xtrabackup-v2

# ---------------

# 保存后 启动 第 2 个节点
service mysql start

3.3 在 192.168.101.113 配置第3个节点 node3

vim /etc/my.cnf

# ----------------
[mysqld]
server-id=3
binlog_expire_logs_seconds=604800
wsrep_provider=/usr/lib64/galera4/libgalera_smm.so
wsrep_cluster_address=gcomm://192.168.101.111,192.168.101.112,192.168.101.113
binlog_format=ROW
wsrep_slave_threads=8
wsrep_log_conflicts
innodb_autoinc_lock_mode=2
wsrep_cluster_name=pxc-cluster
wsrep_node_address=192.168.101.113
wsrep_node_name=node3
pxc_strict_mode=ENFORCING
wsrep_sst_method=xtrabackup-v2

# ---------------

# 保存后 启动 第 3 个节点
service mysql start

3.4 修改 192.168.101.111 上的初始节点配置

vim /etc/my.cnf

# 修改 "wsrep_cluster_address=gcomm://" 如下:
wsrep_cluster_address=gcomm://192.168.101.111,192.168.101.112,192.168.101.113

# 保存 并重启 此节点
service mysql restart

四、使用 Navicat Premium 15.0.27 连接PXC集群

PXC搭建MySQL8集群

 PXC搭建MySQL8集群

 4.1 在 pxc_node1 创建数据库 db_ymalls

PXC搭建MySQL8集群PXC搭建MySQL8集群

 4.2 刷新 pxc-node2和pxc-node3 连接,验证是否同步创建

PXC搭建MySQL8集群PXC搭建MySQL8集群PXC搭建MySQL8集群

 4.3 如果是老版的 Navicat 连不上集群,可修改 ymalls 用户密码的加密方式 

# 使用 mysql_native_password  加密方式
alter user 'ymalls'@'%' identified with mysql_native_password by 'ymalls';

# 刷新权限
flush privileges;

 

 

 

上一篇:Docker安装MySQL8


下一篇:docker安装mysql8