#安装依赖包[root@wl_01 opt]# yum install -y gcc gcc-c++ ncurses-devel.x86_64 libaio bison gcc-c++.x86_64 perl perl-devel libssl-dev autoconf openssl-devel openssl numactl vim net-tools sysstat wget#下载二进制包[root@wl_01 ~]# cd /opt/[root@wl_01 opt]# wget https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.28-linux-glibc2.12-x86_64.tar.xz#解压二进制包[root@wl_01 opt]# tar xf mysql-8.0.28-linux-glibc2.12-x86_64.tar.xz#将解压后的目录软连接到/usr/local下[root@wl_01 opt]# ln -s /opt/mysql-8.0.28-linux-glibc2.12-x86_64 /usr/local/mysql_8028#添加相关环境变量[root@wl_01 opt]# tail -1 /etc/profileexportPATH=/usr/local/mysql_8028/bin:$PATH[root@wl_01 opt]# source /etc/profile[root@wl_01 opt]# mysql -V
mysql Ver 8.0.28 for Linux on x86_64 (MySQL Community Server - GPL)
1.3 创建相关目录
[root@wl_01 opt]# mkdir /mysql_8028/{data,logs,binlog,relaylog,run,tmp} -p[root@wl_01 opt]# groupadd -g 1100 mysql[root@wl_01 opt]# useradd -g mysql -u 1100 mysql[root@wl_01 opt]# passwd mysql
Changing password for user mysql.
New password:
BAD PASSWORD: The password contains less than 2 non-alphanumeric characters
Retype new password:
passwd: all authentication tokens updated successfully.
[root@wl_01 opt]# chown -R mysql.mysql /mysql_8028/
[root@wl_01 ~]# mysql -S /mysql_8028/run/mysql.sock
mysql>select PLUGIN_NAME,PLUGIN_STATUS from information_schema.PLUGINS where PLUGIN_NAME like '%group_replication%';
+-------------------+---------------+
| PLUGIN_NAME | PLUGIN_STATUS |
+-------------------+---------------+
| group_replication | ACTIVE |
+-------------------+---------------+
2.3 所有节点创建组复制用户
[root@wl_01 ~]# mysql -S /mysql_8028/run/mysql.sock
SET SQL_LOG_BIN=0;
CREATE USER repl_user@'172.31.0.%' IDENTIFIED with mysql_native_password BY '123';
GRANT REPLICATION SLAVE ON *.* TO repl_user@'172.31.0.%';
GRANT BACKUP_ADMIN ON *.* TO repl_user@'172.31.0.%';
SET SQL_LOG_BIN=1;
2.4 开启组复制
'--- 以 wl_01 节点为 primary 引导组复制'#开启组复制引导参数[root@wl_01 ~]# mysql -S /mysql_8028/run/mysql.sock
mysql> SET GLOBAL group_replication_bootstrap_group=ON;#所有节点设置组复制通道
CHANGE MASTER TO
MASTER_USER='repl_user',
MASTER_PASSWORD='123'
FOR CHANNEL 'group_replication_recovery';#所有节点开启组复制
mysql> START GROUP_REPLICATION;#wl_01节点关闭组复制引导参数[root@wl_01 ~]# mysql -S /mysql_8028/run/mysql.sock
mysql> SET GLOBAL group_replication_bootstrap_group=OFF;#查看组复制成员
mysql> SELECT * FROM performance_schema.replication_group_members;