一、什么是MGR?

MGR(MySQL Group Replication),是MySQL在2016年12月推出的一个全新的高可用与高扩展的解决方案。

二、为什么要使用MGR?

MySQL推出MGR之前,传统复制分为两种,异步复制、半同步复制。

MySQL Asynchronous Replication(异步复制):master执行事务,写入binlog日志,然后提交。slave接收binlog日志事务并将事务先写入relay日志,然后重做事务。当master宕机时有可能会造成数据不一致情况。

MySQL Semisynchronous Replication (半同步复制):master执行事务,写入二进制日志,将binlog事务日志传送到slave,slave接收到binlog事务日志后,将其写到relay log,然后向master返回传送成功ACK;master收到ACK后,再在存储引擎中提交事务。(两种提交方式,由参数rpl_semi_sync_master_wait_point决定)

但是以上两种主从复制存在以下弊端:

1、写操作集中在MASTER服务器上;

2、可能产生数据不一致的问题;

3、MASTER宕机后,需要人为选择新主并重新给其他的slave端执行change master。

三、MGR提供了哪些功能?

1、同步复制;

2、单主模式、多主模式;

3、自动切换;

4、弹性扩展。

四、MGR建置限制?

1、仅支持innodb引擎;

2、所有新增表必须显式创建主键;

3、建议隔离级别为READ COMMITED,多主模式下,不支持SERIALIZABLE;

4、多主模式下,不建议使用外键;

5、需开启bin_log_format=row、log_slave_updates=ON;

6、需开启GTID;

7、需安装引擎group_replication.so;

8、MGR最多支持9个节点。

五、MGR原理

1、单主模式

单主模式下,只有一个节点可以读写,其他节点提供只读服务。单主模式下,当主节点宕掉,其他节点自动会根据服务器的server_uuid变量和group_replication_member_weight变量值,选择下一个slave作为主节点,group_replication_member_weight的值最高的成员被选为新的主节点,该参数默认为50,可以在节点上设置不同值;在group_replication_member_weight值相同的情况下,group根据数据字典中server_uuid排序,排序在最前的被选择为主节点。

2、多主模式

多主模式下,在组复制中通过Group Replication Protocol协议及Paxos协议,形成的整体高可用解决方案,同时增加了certify的概念,负责检查事务是否允许提交,是否与其它事务存在冲突,Group Replication是由多个节点共同组成一个数据库集群,每个节点都可以单独执行事务,但是read-write(RW)的操作只有在组内验证后才可以commit,Read-only (RO)事务是不需要验证可以立即执行,当一个事务在一个节点上提交之前,会在组内自动进行原子性的广播,告知其他节点变更了什么内容/执行了什么事务,然后为该事物建立一个全局的排序,最终,这意味着所有的服务器都以相同的顺序接收相同的事务集。因此,所有服务器都按照相同的顺序应用相同的变更集,因此它们在组中保持一致。 在多主模式下,该组的所有成员都设置为读写模式,在多主模式下,不支持SERIALIZABLE事务隔离级别,且不能完全支持级联外键约束。

mysql的mgr是什么意思_MySQL之MGR简介相关推荐

  1. mysql 分片 数据迁移_简述MySQL分片中快速数据迁移_MySQL

    推荐阅读:MySQL 数据库跨操作系统的最快迁移方法 mysql 备份与迁移 数据同步方法 操作实践背景: travelrecord表定义为10个分片,尝试将10个分片中的2个分片转移到第二台MySQ ...

  2. mysql 登录默认实例_【MySQL案例】mysql本机登录-S失灵_mysql

    [mysql案例]mysql本机登录-S失效 1.1.1. mysql本机登录mysql时,-S参数失效 [环境描述] mysql5.5.14 [问题描述] 配置了多实例 实例1 实例2 datadi ...

  3. 【DB宝35】使用MySQL 8.0 克隆(clone)插件快速添加MGR节点

    文章目录 一.MySQL 8.0.17的克隆clone简介 二.MGR现有环境 三.使用clone技术添加MGR节点 3.1 初始化新节点 3.2 新节点安装clone插件和组复制插件 3.3 新节点 ...

  4. mysql面试指南百度云下载_MySQL面试指南,资源教程下载

    资源名称 MySQL面试指南,资源教程下载 资源目录 第1章 课程介绍 课程内容的整体介绍以及学习建议. 1-1 MySQL面试指南导学 第2章 MySQL版本类问题 在这类问题中主要涉及到了不同My ...

  5. mysql 事物状态有几种_mysql第三章 事务以及日志

    mysql第三章 事务以及日志 一. 事物简介 每条DDL DCL语句都是事务. 每个begin 到coomit语句是一个事务 二. 事物特性ACID以及开启方式 1. 原子性(A),部成功执行或全部 ...

  6. mysql8.0创建属性,MySQL 8.0新特性 — 管理端口的使用简介

    前言 下面这个报错,相信大多数童鞋都遇见过:那么碰到这个问题,我们应该怎么办呢?在MySQL 5.7及之前版本,出现"too many connection"报错,超级用户root ...

  7. mysql 驱动包 bin 的意思_mysql连接数据库,用下面代码,为什么找不到驱动呢?? lib下是mysql-connector-java-5.1.15-bin.jar...

    //你的头文件中有什32313133353236313431303231363533e59b9ee7ad9431333433626435么我不知道,我在调试的是下面4行import java.sql. ...

  8. mysql delete 会锁表吗_MySQL高压缩引擎TokuDB 揭秘

    原文出处:http://mysql.taobao.org/monthly/2017/07/04/ HybridDB for MySQL(原名petadata)是面向在线事务(OLTP)和在线分析(OL ...

  9. mysql将数据导入mgr_MySQL 8.0.20 MGR数据迁移过程以及注意事项

    1.背景 近期由于业务调整,需要将Windows Server 2008 MySQL5.5数据库迁移到Windows Server 2012 MySQL8.0集群MGR中,由于实际部署时,有一台机器硬 ...

最新文章

  1. h5网页中使用打电话功能
  2. python文件指针_在使用python写入文件之前,如何将文件指针放在上面一行?
  3. C语言必知的几个概念
  4. nc 发布元数据_海南接线端子数控NC尼龙加工现货_苏州九兴电子
  5. html中两个标签上对齐,css将两个元素水平对齐的方法(兼容IE8)
  6. Kylin安装Version1.6.0
  7. “三行代码,确实需要耗上一整天”
  8. 3 手风琴翻折效果_vue3+typeScript 手风琴(每周一个小组件)
  9. Mac OS端如何使用fastboot工具
  10. 很详细的解决Tomcat乱码问题
  11. js加html连线实现流程,(jsPlumb开发入门教程实现html5拖拽连线.doc
  12. 64位x86微服务器芯片,卖贝商城告诉你微服务器替代x86服务器的利与弊
  13. iPhone5发布,杂谈
  14. 量子机器学习HHL算法总结图文
  15. 虾皮shopee根据ID取商品详情 API 返回值说明
  16. 作业4—文法和语言总结与梳理
  17. 合肥学院ACM集训队第一届暑假友谊赛 B FYZ的求婚之旅 D 计算机科学家 F 智慧码 题解...
  18. 前后端分离实现在线音乐网站-springboot+vue
  19. 【计算方法】解线性方程组的直接法
  20. 第四章 JavaWeb CSS入门 核心基础 基础形式 + 选择器

热门文章

  1. 还在抱怨数据结构难? 一文带你搞懂如何AC算法题(2022版)
  2. 使用Python,OpenCV制作不同风格的素描图(正常,漫画,写实风格)
  3. [收藏]三国时代的十大遗言
  4. 李笑来对《把时间当朋友》的高度概括
  5. [sensorhub]MT6752/32平台sensor hub KK和L版本配置方法
  6. Vuforia的学习(一)---Vuforia的介绍
  7. 月薪2千到年薪百万,厂妹到高盛程序员,她书写了一个女孩的史诗
  8. 星上维智能科技CEO左作人,机器视觉会越来越智能化
  9. 电子科技大学和东北大学计算机专业哪个好,2016东北大学VS电子科技大学 谁执牛耳?...
  10. 不要再说微服务可以解决一切问题了