MGR单主模式搭建实践(完结)

MGR单主模式搭建实践(完结)

2018.07.20 16:34* 字数 749 阅读 786评论 0喜欢 1

架构

主:172.17.100.101

从①:172.17.100.103

从②:172.17.100.104

MySQL版本:5.7.22

MGR配置

修改每个节点下对应的配置文件my.cnf,增加如下配置

#MGR

server-id = 1  #主节点设置为1,从节点从2-9,此次实验为1主2从

master_info_repository=TABLE

relay_log_info_repository=TABLE

binlog_checksum=NONE

transaction_write_set_extraction=XXHASH64

loose-group_replication_group_name="3db33b36-0e51-409f-a61d-c99756e90155"  #这个name必须是一个uuid的格式

loose-group_replication_start_on_boot=off

loose-group_replication_local_address= "172.17.100.101:23306"  #每个节点此处为本机的IP及端口

loose-group_replication_group_seeds= "172.17.100.101:23306,172.17.100.103:23306,172.17.100.104:23306"  #MGR组的所有IP及端口

loose-group_replication_bootstrap_group= off

loose-group_replication_single_primary_mode=true  #单主模式必须设置

loose-group_replication_enforce_update_everywhere_checks=false  #单主模式必须设置

第一节点(主节点)

SET SQL_LOG_BIN=0;

grant replication slave on *.* to rpl@'172.17.100.%' identified by 'beacon';

SET SQL_LOG_BIN=1;

change master to master_user='rpl',master_password='beacon' for channel 'group_replication_recovery';

install plugin group_replication soname 'group_replication.so';

set global group_replication_bootstrap_group=on;

start group_replication;

set global group_replication_bootstrap_group=off;

第二节点

SET SQL_LOG_BIN=0;

grant replication slave on *.* to rpl@'172.17.100.%' identified by 'beacon';

SET SQL_LOG_BIN=1;

change master to master_user='rpl',master_password='beacon' for channel 'group_replication_recovery';

install plugin group_replication soname 'group_replication.so';

set global group_replication_allow_local_disjoint_gtids_join=ON;

start group_replication;

第三节点

SET SQL_LOG_BIN=0;

grant replication slave on *.* to rpl@'172.17.100.%' identified by 'beacon';

SET SQL_LOG_BIN=1;

change master to master_user='rpl',master_password='beacon' for channel 'group_replication_recovery';

install plugin group_replication soname 'group_replication.so';

set global group_replication_allow_local_disjoint_gtids_join=ON;

start group_replication;

MGR相关信息检测

#查询组成员

select * from performance_schema.replication_group_members;

 
906

#查询主节点

select variable_value from performance_schema.global_status where variable_name='group_replication_primary_member';

 
1000

搭建中遇到的报错

1.[ERROR] Plugin group_replication reported: '[GCS] Error on opening a connection to 172.17.100.103:23306 on local port: 23306.'

 
1000

这个报错是主节点执行start group_replication时发生的

重新执行set global group_replication_bootstrap_group=on;

之后再次start可以正常启动

实际上之前我已经执行过set global group_replication_bootstrap_group=on这个语句了,为什么会出现这个报错,有点懵比,总之重新执行后解决该问题。

 

2.[ERROR] Plugin group_replication reported: 'This member has more executed transactions than those present in the group. Local transactions: ce088f8c-8e5b-11e8-9c42-005056ba04d1:1-2 > Group transactions: 3db33b36-0e51-409f-a61d-c99756e90155:1-2,

 
1000

这个报错是在第二节点执行start的时候产生的,根本原因是因为第二节点没有执行join语句

执行set global group_replication_allow_local_disjoint_gtids_join=ON;

完成上述语句的执行之后,再次start,即可成功执行

 

3.主从库皆可执行写操作,下列语句执行后,结果为空

select variable_value from performance_schema.global_status where variable_name='group_replication_primary_member';

 
1000

检查参数中的下列2行是否配置正确

 
718

在配置相反的情况下,搭建的MGR为多主

 

MGR切换测试

主节点执行关闭数据库

 
1000

从节点执行相关检测

 
1000

重新启动之前的主节点,并执行start GR,将主节点加入到MGR组内,可以发现主节点已经变更为之前的从节点

 
1000
 
1000

小礼物走一走,来简书关注我

转载于:https://my.oschina.net/rootliu/blog/3076194

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL MGR(MySQL Group Replication)是MySQL官方提供的一种高可用性和容灾解决方案,支持主模式和多主模式。在主模式中,只有一个节点作为主节点来处理写入操作,其他节点作为备节点用于读取和复制数据。 以下是使用MySQL MGR搭建主模式的基本步骤: 1. 安装MySQL:在每个节点上安装MySQL,并确保版本一致。 2. 配置MySQL实例:在每个节点上配置MySQL实例,包括设置端口、数据目录、日志文件等。 3. 配置主节点:选择一台节点作为主节点,配置其为MGR的主节点。在主节点上设置`group_replication_single_primary_mode=ON`,并配置其他节点的IP地址和端口。 4. 配置备节点:配置其他节点为备节点,并将其添加到主节点的组中。在备节点上设置`group_replication_single_primary_mode=OFF`,并配置主节点的IP地址和端口。 5. 启动MySQL实例:在每个节点上启动MySQL实例,并确保实例正常运行。 6. 配置管理账号:在主节点上创建一个管理账号,并分配相应的权限给其他节点。 7. 启动MGR:在主节点上启动MGR,并使用管理账号将其他节点添加到组中。 8. 验证集群状态:使用MySQL的命令行工具或客户端连接到主节点,并执行`SHOW STATUS LIKE 'group_%'`命令来验证集群状态。 以上是基本的步骤,具体的配置和操作可能会因环境和需求而有所不同。建议在搭建MySQL MGR之前,先详细阅读MySQL官方文档中关于MGR的相关章节,以确保正确配置和操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值