【MySQL】MGR集群相关简介
admin
2023-04-19 13:23:03
0
1.MGR简介

MySQL Group Replication(MGR)是MySQL官方在5.7.17版本引进的一个数据库高可用与高扩展的解决方案,以插件形式提供。MGR基于分布式paxos协议,实现组复制,保证数据一致性。内置故障检测和自动选主功能,只要不是集群中的大多数节点都宕机,就可以继续正常工作。提供单主模式与多主模式,多主模式支持多点写入。

2.原理简单介绍

组复制是一种可用于实现容错系统的技术。复制组是一个通过消息传递相互交互的Server集群。复制组由多个Server成员组成,如下图的Master1、Master2、Master3,所有成员独立完成各自的事务。

【MySQL】MGR集群相关简介

当客户端发起一个更新事务时,该事务先在本地执行,执行完成之后就要发起对事务的提交操作。在还没有真正提交之前,需要将产生的复制写集广播出去,复制到其它成员。如果冲突检测成功,组内决定该事务可以提交,其它成员可以应用,否则就回滚。

最终,所有组内成员以相同的顺序接收同一组事务。因此组内成员以相同的顺序应用相同的修改,保证组内数据强一致性。

3.使用限制
3.1 仅支持innodb引擎

​ 为什么需要使用innodb引擎呢?在MySQL Group Replication中,事务以乐观形式执行,但是在提交时检查冲突,如果存在冲突,则会在某些实例上回滚事务,保持各个实例的数据一致性,那么,这就需要使用到 事务存储引擎,同事Innodb提供一些额外的功能,可以更好的管理和处理冲突,所以建议 业务使用表格使用inndb存储引擎,类似于系统表格mysql.user使用MyISAM引擎的表格,因为极少修改及添加,极少出现冲突情况。

3.2 主键

​ 每个需要复制的表格都必须定义一个显式主键,注意跟隐式主键区分(使用Innodb引擎的表格,如果没有指定主键,默认选择第一个非空的唯一索引作为主键,如果没有,则自动创建一个6个字节的rowid隐式主键)。这个主键能在冲突发生时启动极其重要的作用,同时,能够有效提高relay log的执行效率。

3.3 隔离级别

​ 官网建议使用READ COMMITTED级别,除非应用程序依赖于REPLEATABLE READ,RC模式下没有GAP LOCK,比较好支持Innodb本身的冲突检测机制何组复制的内部分布式检测机制一起协同工作。不支持SERIALIZABLE隔离级别。

3.4 外键

​ 不建议使用级联外键,如果旧库本身有外键,业务上无法去除并且使用的是多主模式,那么,请配置 group_replication_enforce_update_everywhere_check ,强制检查每个组成员的级联检查,避免多主模式下执行级联操作造成的检测不到的冲突。

4.参数规范

因前期创建实例大多采取默认配置 导致开发,测试,生产等环境间数据库参数不同 对程序运行有一定的影响。 以后创建实例将会参数规范化 对已有的实例后续也会慢慢修正 。

下面简单解释下几个改动的参数

  • sql_mode 去除了ONLY_FULL_GROUP_BY, STRICT_TRANS_TABLES, NO_ZERO_IN_DATE, NO_ZERO_DATE等限制 采取了较为宽松的模式

  • lower_case_table_names 统一设置为1 即不区分大小写 有些实例还没更改 大家建表建库的时候不要大写

  • character-set-server 统一设置为utf8 不要用latin1字符集

  • wait_timeoutinteractive_timeout参数控制空闲连接的时长 当连接空闲时间超过此参数则会被断开 以后会统一设置为1800s即30分钟

  • transaction_isolation 事务隔离级别 MySQL官方默认是可重复读(repeatable-read)目前单实例及主从架构的mysql采用了此级别,MGR集群将采取读已提交(read-committed)级别。Oracle默认是读已提交 。
    【MySQL】MGR集群相关简介

上一篇:mycat自学整理入门

下一篇:MySQL巡检

相关内容

热门资讯

今日重大通报“天天爱麻将究竟有... 今日重大通报“天天爱麻将究竟有挂吗?”(必胜开挂神器)您好,天天爱麻将这个游戏其实有挂的,确实是有挂...
【第一资讯】“阿拉斗牌辅助器?... 网上科普关于“阿拉斗牌有没有挂”话题很是火热,小编也是针对阿拉斗牌作*弊开挂的方法以及开挂对应的知识...
玩家攻略科普“牌乐门到底是不是... 家人们!今天小编来为大家解答牌乐门透视挂怎么安装这个问题咨询软件客服徽4282891的挂在哪里买很多...
【第一资讯】“决胜奕福是不是有... 您好:决胜奕福这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9784099】很多玩家在这款游戏...
今日重大消息“新版九哥牛牛究竟... 网上科普关于“新版九哥牛牛有没有挂”话题很是火热,小编也是针对新版九哥牛牛作*弊开挂的方法以及开挂对...
我来教教您“可乐麻将开挂神器?... 网上科普关于“可乐麻将有没有挂”话题很是火热,小编也是针对可乐麻将作*弊开挂的方法以及开挂对应的知识...
今日重大消息“乐乐围棋入门到底... 网上科普关于“乐乐围棋入门有没有挂”话题很是火热,小编也是针对乐乐围棋入门作*弊开挂的方法以及开挂对...
玩家最新攻略“开心泉州麻将有没... 您好:开心泉州麻将这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9752949】很多玩家在这款...
玩家攻略科普“上海滩有没有挂?... 您好:上海滩这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9752949】很多玩家在这款游戏中...
我来教教您“同乡游有挂吗?”(... 网上科普关于“同乡游有没有挂”话题很是火热,小编也是针对同乡游作*弊开挂的方法以及开挂对应的知识点,...