MySQL 5.7.17 Group Relication的搭建是怎样的

本篇文章给大家分享的是有关MySQL 5.7.17 Group Relication的搭建是怎样的,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

小编介绍了Group Replication的两种工作模式的架构。
并详细介绍了
Single-Master Mode的部署过程,以及如何切换到Multi-Master Mode
当然,文末给出了Group Replication的配置要求和一些限制。

〇 结构介绍

在2016年12月发布的5.7.17版本的MySQL,甲骨文宣布Group Replication已经GA。

Group Replication(下简称GR)有两个工作模式,分别为Single-Master Mode与Multi-Master Mode:

Single-Master Modefailover图:
MySQL 5.7.17 Group Relication的搭建是怎样的
只有primary成员可读写,而其他的节点为只读,在primary成员发生故障时,将会有其他成员顶替成primary。

Multi-Master Mode的failover图:

MySQL 5.7.17 Group Relication的搭建是怎样的
所有的成员均可读可写。

关于脑裂问题,可发现MySQL Group Replication与MongoDB Relicate Set有相似之处:
和MongoDB的Relicate Set相近,其读写库类似于Primary,只读库类似于Secondary。

(下图来自MySQL官方)
MySQL 5.7.17 Group Relication的搭建是怎样的

(下图来自MongoDB 3.4 Manual)
MySQL 5.7.17 Group Relication的搭建是怎样的


〇 部署

测试实例数量:3台
版本:MySQL 5.7.17

安装(此处用的是二进制包安装)
mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz

创建数据目录及日志目录:

  1. loose-group_replication_single_primary_mode=FALSE

  2. loose-group_replication_enforce_update_everywhere_checks=TRUE

  3. (single-master mode 这俩个参数的值为TRUE和FALSE)


〇 要求和限制

仅可用于InnoDB存储引擎(需要事务的支持和行级锁)
表必须有主键(创建无主键的表不会报错,但在插入数据的时候会抛出:ERROR 3098 (HY000): The table does not comply with the requirements by an external plugin.)
必须启用GTID
必须开启二进制日志,并且其格式必须为ROW(binlog_format=row)
冲突DDl、DML只能在同一成员上执行成功
在多主结构中,不完全支持外键(单主结构中是没有问题的)
不支持serializable的事务隔离级别
只支持IPv4,并且需要低延迟,高带宽的网络环境
GR最大支持9个成员
复制信息元数据必须存在系统表(master-info-repository=TABLE、relay-log-info-repository=TABLE)
二进制日志checksums必须关闭(binlog-checksum=NONE)
不支持savepoint的使用

以上就是MySQL 5.7.17 Group Relication的搭建是怎样的,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/204245.html

(0)
上一篇 2021年11月29日
下一篇 2021年11月29日

相关推荐

发表回复

登录后才能评论