MySQL 8.0 克隆(clone)插件快速添加组复制MGR节点

搬瓦工机场JMS

MySQL 8.0 clone插件提供从一个实例克隆数据的功能,克隆功能提供了更有效的方式来快速创建MySQL实例,搭建主从复制和组复制。本文介绍使用 MySQL 8.0 clone 插件快速添加组复制(MGR)节点的方法。
1、环境:
已有MGR集群,多主模式:

  • 192.168.56.101
  • 192.168.56.102
  • 192.168.56.103

通过clone插件新加节点: 192.168.56.104
2、配置新节点my.cnf
完整路径 /home/mysql/etc/my.cnf_8.0.19,除了以下三个参数不一样外,其他与已有MGR节点的配置文件保持一致。

  • server_id
  • loose-group_replication_local_address
  • report_host

[mysqld]port=3306basedir=/usr/local/mysql8datadir=/mysql/data8/socket=/mysql/data8/mysql.sockpid_file=/mysql/data8/mysql.pid
log_bin=binloglog_slave_updates=ONbinlog_format=ROWbinlog_checksum=NONEmaster_info_repository=TABLErelay_log_info_repository=TABLE
gtid_mode=ONenforce_gtid_consistency=ON
transaction_write_set_extraction=XXHASH64loose-group_replication_group_name="aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"loose-group_replication_start_on_boot=OFFloose-group_replication_local_address="192.168.56.104:33061"loose-group_replication_group_seeds="192.168.56.101:33061,192.168.56.102:33061,192.168.56.103:33061"loose-group_replication_bootstrap_group=OFF
server_id=4report_host=192.168.56.104report_port=3306
3、初始化数据库
初始化新加入节点的MySQL数据库。useradd mysqlmkdir -p /mysql/data8sudo chown -R mysql:mysql /mysql/data8sudo chown -R mysql.mysql /home/mysql/etc/
/usr/local/mysql8/bin/mysqld –defaults-file=/home/mysql/etc/my.cnf_8.0.19 –initialize-insecure

4、启动数据库,安装clone插件和组复制插件
在新加入的节点上执行:# 启动MySQL/usr/local/mysql8/bin/mysqld_safe  –defaults-file=/home/mysql/etc/my.cnf_8.0.19 &
# 登录MySQL/usr/local/mysql8/bin/mysql -S /mysql/data8/mysql.sock
# 安装MGR插件mysql> INSTALL PLUGIN group_replication SONAME ‘group_replication.so’;
# 安装clone插件mysql> INSTALL PLUGIN clone SONAME ‘mysql_clone.so’;
5、已有MGR集群添加clone账号,并授权
由于已有MGR集群是多主模式,在任一节点上执行都可以,我们选择在192.168.56.101节点上执行:# 在MGR节点上创建clone账号,并授权mysql> create user ‘clone_user’@’%’ identified by ‘123456’;mysql> grant BACKUP_ADMIN on *.* to ‘clone_user’@’%’;mysql> grant CLONE_ADMIN on *.* to ‘clone_user’@’%’;
6、执行克隆任务
在新加节点192.168.56.104上执行:# 设置克隆源,将clone_valid_donor_list设置为MGR节点mysql> SET GLOBAL clone_valid_donor_list = ‘192.168.56.101:3306’;
# 开始克隆mysql> CLONE INSTANCE FROM ‘clone_user’@’192.168.56.101’:3306 IDENTIFIED BY ‘123456’;
克隆完成后,新加入的节点会自动重启。
7、添加新节点到白名单中
添加新节点ip到白名单,要在所有节点上执行。# 在所有MGR节点和新节点上执行添加白名单mysql> set global  group_replication_ip_whitelist=’192.168.56.104/24′;
如果不添加白名单,下一步启动组复制会报错,如下:2020-02-22T14:41:29.597726+08:00 0 [Warning] [MY-011735]  [Repl] Plugin group_replication reported: ‘[GCS]  Connection attempt from IP address ::ffff:192.168.56.104 refused. Address is not in  the IP whitelist.’
8、启动组复制,加入MGR集群
在新加入的节点上执行启动组复制:
# 由于已有MGR集群是多主模式,需要先设置成多主模式mysql> set global group_replication_single_primary_mode=OFF;mysql> set global group_replication_enforce_update_everywhere_checks=ON;
# 加入组复制mysql> START GROUP_REPLICATION;
# 查看组复制成员及状态mysql> SELECT  MEMBER_HOST,MEMBER_PORT,MEMBER_STATE,MEMBER_ROLE,MEMBER_VERSION FROM performance_schema.replication_group_members;+—————-+————-+————–+————-+—————-+| MEMBER_HOST    | MEMBER_PORT | MEMBER_STATE |  MEMBER_ROLE | MEMBER_VERSION |+—————-+————-+————–+————-+—————-+| 192.168.56.101 |        3306 | ONLINE       | PRIMARY     |  8.0.19         || 192.168.56.102 |        3306 | ONLINE       | PRIMARY     |  8.0.19         || 192.168.56.103 |        3306 | ONLINE       | PRIMARY     |  8.0.19         || 192.168.56.104 |        3306 | ONLINE       | PRIMARY     |  8.0.19         |+—————-+————-+————–+————-+—————-+

未经允许不得转载:搬瓦工VPS_美国VPS » MySQL 8.0 克隆(clone)插件快速添加组复制MGR节点

赞 (0) 打赏

相关推荐

    暂无内容!

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏