MySQL 5.7.17 Group Replication


基于组复制的强大功能在MySQL 5.7.17之后以插件的形式实现,本文讲述在单机多实例基础上搭建组复制测试环境环境说明:操作系统:CentOS Linux release 7.3.1611 (Core)内核版本:Linux version 3.10.0-514.6.2.el7.x86_64MySQL版本:mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz依赖包安装:同时需要关闭selinux及防火墙
MySQL5.7.17安装及配置下载解压至安装目录添加环境变量手动创建mysql用户添加本机主机名解析
MySQL多实例:(三个实例)我们将实例建3306、3307、3308三个实例创建数据文件目录创建配置文件目录
创建配置文件3306实例的配置文件cat /usr/local/mysql5.7.17/conf/3306.cnf说明:group_replication变量使用的loose-前缀是指示Server启用时尚未加载复制插件也将继续启动transaction_write_set_extraction = XXHASH64指示Server必须为每个事务收集写集合,并使用XXHASH64哈希算法将其编码为散列loose-group_replication_group开发云主机域名_name=”01e5fb97-be64-41f7-bafd-3afc7a6ab555″表示将加入或者创建的复制组命名为01e5fb97-be64-41f7-bafd-3afc7a6ab555,可自定义(通过cat /proc/sys/kernel/random/uuid)loose-group_replication_start_on_boot=off 设置为Server启动时不自动启动组复制loose-group_replication_local_address=”127.0.0.1:13306″ 绑定本地的127.0.0.1及13306端口接受其他组成员的连接,IP地址必须为其他组成员可正常访问loose-group_replication_group_seeds=”127.0.0.1:13306,127.0.0.1:13307,127.0.0.1:13308″本行为告诉服务器当服务器加入组时,应当连接到127.0.0.1:13306,127.0.0.1:13307,127.0.0.1:13308这些种子服务器进行配置。本设置可以不是全部的组成员服务地址loose-group_replication_bootstrap_group = off 配置是否自动引导组loose-group_replication_ip_whitelist=”10.30.0.0/16,10.31.0..0/16,10.27.0.0/16″默认情况下只允许127.0.0.1连接到复制组,如果是其他IP则需要配置。
3307实例的配置文件cat /usr/local/mysql5.7.17/conf/3307.cnf
3308实例配置文件cat /usr/local/mysql5.7.17/conf/3308.cnf
初始化数据库:
启动数据库:

3306实例:

3307实例:

3308实例:
注意:3306、3307、3308启动组复制的不同set global group_replication_bootstrap_group=ON;START group_replication;set global group_replication_bootstrap_group=OFF;
查看组复制结果:
可以看到MEMBER_STATE都是ONLINE,组复制配置成功

组复制测试:在其他实例测试:在单主模式下,只有主机才允许写入,其他都为只读模式;
在单主模式下寻找主实例则可以知道haproxy206的3306端口为主实例

注意上面的
单主模式变更为多主模式经过以上配置后你就可以在每个实例上都进行增删改

增加节点我们已三个成员的组复制分别为3306、3307、3308现在我们增加3309实例
mkdir -p /usr/local/mysql5.7.17/data/3309
cat /usr/local/mysql5.7.17/conf/3309.cnf
初始化数据库并启动数据库
配置
查看组成员如果数据量大的话,3309的状态可能为recovering

问题处理:2017-06-21T15:06:01.854288+08:00 0 [Warning] Plugin group_replication reported: ‘[GCS] Connection attempt from IP address 192.168.0.2 refused. Address is not in the IP whitelist.’原因:group_replication_ip_whitelist默认值为127.0.0.1/8,设置为需要的配置处理:set globalgroup_replication_ip_whitelist=’192.168.0.0/24′ (多个网段使用逗号隔开)
Slave I/O for channel ‘group_replication_recovery’: Fatal error: Invalid (empty) username when attempting to connect to the master server. Connection attempt terminated. Error_code: 1593原因:没有配置同步账号跟密码,使用的是空密码进行同步。 需要为复制通道group_replication_recovery 设置同步信息,一定要注意同步通道group_replication_recovery处理:change master to master_user=’repluser’,master_password=’replpass’ for channel ‘group_replication_recovery’;

相关推荐: MYSQL新特性secure_file_priv读写文件 o

1290 – The MySQL server is running with the –secure-file-priv option so it cannot execute this statementsecure-file-priv特性secure-f…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 06/04 20:58
下一篇 06/04 20:59

相关推荐