Centos6.8 下 部署Mysql组复制(MySQL Group Replication)之多主模式(5.7新特性)

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

1.关于MGR介绍

1.1提供的特性:

多写,写冲突检测
良好的扩展能力,可动态增删节点,组成员自动管理
组内高可用
确保组内数据最终一致性【重要】(通过分布式协议和分布式recovery机制保证)

1.2组复制的两种模式

在单主模式下,组复制具有自动选主功能,每次只有一个 server成员接受更新。
在多主模式下,所有的 server 成员都可以同时接受更新.

1.3组复制的限制

仅支持InnoDB表,并且每张表一定要有一个主键,用于做write set的冲突检测;
必须打开GTID特性,二进制日志格式必须设置为ROW,用于选主与write set
COMMIT可能会导致失败,类似于快照事务隔离级别的失败场景
目前一个MGR集群最多支持9个节点
不支持外键于save point特性,无法做全局间的约束检测与部分部分回滚
二进制日志不支持binlog event checksum

1.4MySQL组复制协议
组复制原理
上图描述了MySQL组复制协议。

2.安装部署

2.1 环境介绍
三台服务器(centos6.8)安装mysql5.7.19版本,关于mysql安装参考我的另一个文章。
服务器分别为:
192.168.1.208
192.168.1.211
192.168.1.212

服务器 端口号 数据及日志目录 Group_replication 通讯端口
192.168.1.208 3306 /usr/local/mysql/mysql/{data,logs,tmp} 33061
192.168.1.211 3306 /usr/local/mysql/mysql/{data,logs,tmp} 33061
192.168.1.212 3306 /usr/local/mysql/mysql/{data,logs,tmp} 33061

①.分别在三台服务器添加host

vi /etc/hosts
192.168.1.208 mgr208
192.168.1.212 mgr212
192.168.1.211 mgr211

2.2更改mysql配置文件my.cnf

[client]
port = 3306
socket = /usr/local/mysql/tmp/mysql.sock

[mysqld]
port = 3306
socket = /usr/local/mysql/tmp/mysql.sock
back_log = 80
basedir = /usr/local/mysql
tmpdir = /tmp
datadir = /usr/local/mysql/data
pid-file=/usr/local/mysql/mysqld
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值