mysql组复制脑裂_【MySQL】MySQL MGR组复制搭建(单主及多主模式)

1、背景

MGR(MySQL Group Replication)是MySQL官方在5.7.17版本引进的一个数据库高可用与高扩展的解决方案,以插件形式提供,实现了分布式下数据的最终已执行,总结MGR的特点如下:

高一致性:基于分布式paxos协议实现组复制,保证数据一致性

高容错性:自动检测机制,只要不是大多数节点都宕机就可以继续工作,内置防脑裂保护机制;

高扩展性:节点的添加与移除会自动更新组成员信息,新节点加入后,自动从其他节点同步增量数据,知道与其他节点数据一致;

高灵活性:提供单住和多主模式,单主模式在主库宕机后能够自动选主,所有写入都在主节点进行,多主模式支持多节点写入。

2、环境

操作系统:CentOS 7

数据库版本:5.7.22

主机1:192.168.106.203

主机2:192.168.106.204

主机3:192.168.106.205

3、搭建步骤

3.1 数据库安装部署步骤,略

3.2 分别将主机的ip做映射

由于在集群中的merber_host中的值不能相同,所以需要做映射,当然不做也可以,后面提到如何设置

3.3 开始搭建集群节点一(主机1)

3.3.1 修改第一个节点的配置文件,内容添加如下:

# replication param

# server-id,组内唯一ID,不可重复,一般配置为IP的后几位

server_id = 203

# 开启二进制日志

log_bin = mysql-bin

# 开启gtid模式

gtid_mode = on

enforce_gtid_consistency = 1

# 开启存储从主库接收来的二进制日志

log_slave_updates = 1

# 设置二进制日志格式为row

binlog_format = row

# group replication param

#复制元数据存入系统表

master_info_repository = table

#复制元数据存入系统表

relay_log_info_repository = table

#禁用二进制日志时间校验和

binlog_checksum = none

#server必须为每个事物

transaction_write_set_extraction=XXHASH64

# 复制组的名字,可以随意起,但一定要遵循gtid的格式

loose-group_replication_group_name='aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa'

#插件在server启动时是否自动启动组复制,如果不在配置文件中配置可在后面动态配置

loose-group_replication_start_on_boot = off

#使用这个地址接收来自组中其他成员的传入连接,一般为本机地址

loose-group_replication_local_address = '192.168.106.203:33061'

#组成员

loose-group_replication_gr

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值