mysql MGR集群

本文详细介绍了如何搭建和配置MySQL Group Replication (MGR) 集群,包括基础结构要求、多主模式设置、以及新增从节点的步骤。在MGR集群中,每个表必须有主键,引擎需为InnoDB,并启用binlog和GTID。通过逐步配置,最终实现高可用和高扩展的MySQL服务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

介绍

MySQL Group Replication(简称MGR)是MySQL官方于2016年12月推出的一个全新的高可用与高扩展的解决方案。MySQL Group Replication提供了高可用、高扩展、高可靠的MySQL集群服务

MGR基础结构要求:

1、引擎必须为innodb,因为需事务支持在commit时对各节点进行冲突检查
2、每个表必须有主键,在进行事务冲突检测时需要利用主键值对比
3、必须开启binlog且为row格式
4、开启GTID,且主从状态信息存于表中(–master-info-repository=TABLE 、–relay-log-info-repository=TABLE),–log-slave-updates打开
5.一致性检测设置–transaction-write-set-extraction=XXHASH64

部署MGR集群

1.准备三台mysql,三台都设置hostname和ip映射
vim /etc/hosts 输入以下

192.168.100.10   master
192.168.100.20   slave1
192.168.100.30   slave2

2.配置master主配置文件
vim /etc/my.cnf 添加以下 ##红色部分修改组名和自己主机名

server_id=100  #服务ID
gtid_mode=ON  #全局事务
enforce_gtid_consistency=ON  #强制GTID的一致性
master_info_repository=TABLE  #将master.info元数据保存在系统表中
relay_log_info_repository=TABLE  #将relay.info元数据保存在系统表中
binlog_checksum=NONE  #禁用二进制日志事件校验
log_slave_updates=ON  #级联复制
log_bin=binlog   #开启二进制日志记录
binlog_format=ROW  #以行的格式记录
3.transaction_write_set_extraction=XXHASH64 #使用哈希算法将其编码为散列
loose-group_replication_group_name='ce9be252-2b71-11e6-b8f4-00212844f856' #加入的组名
loose-group_replication_start_on_boot=off     #不自动启用组复制集群
loose-group_replication_local_address='cong11:33061'
#以本机端口33061接受来自组中成员的传入连接
loose-group_replication_group_seeds='cong11:33061,cong12:33061,cong13:33061'
#组中成员访问表
loose-group_replication_bootstrap_group=off #不启用引导组

Uuidgen 可以自动生成组名
Systemctl restart mysqld ##重启
3,授权账户
进入mysql里

mysql> set SQL_LOG_BIN=0;   #停掉日志记录
mysql> grant replication slave on *.* to repl@' 192.168.1.%' identified by '123456';
mysql> flush privileges;
mysql> set SQL_LOG_BIN&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值