mysql高可用集群MGR组复制的介绍、部署及配置说明

前言

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

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

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

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

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

MGR支持单主模式和多主模式:

单主模式:在单主模式下,只有一个节点可以可以读写,其他节点只能提供读,如果读写节点down掉,会自主从新推选一个新的读写节点,其他节点继续保持只读。当主节点宕掉,自动会根据服务器的server_uuid变量和group_replication_member_weight变量值,选择下一个slave谁作为主节点,group_replication_member_weight的值最高的成员被选为新的主节点,在group_replication_member_weight值相同的情况下,group根据数据字典中 server_uuid排序,排序在最前的被选择为主节点。

多主模式:所有节点都支持读写,但是不支持多节点同时对一个表进行DDL vs DDL/DML,不支持SERIALIZABLE隔离级别,不支持多级关联外键。

对不支持的项进行说明:

1.多主模式不支持多节点同时对一个表进行 DDL vs DDL/DML:

解释:在 MGR 的多主模式下,如果多个节点同时对一个表进行 DDL(数据定义语言)操作或 DDL 与 DML(数据操作语言)操作混合执行,可能会导致数据不一致或集群故障。

举例:假设有两个节点 A 和 B,A 正在对表 t1 进行 ALTER TABLE 操作,而 B 同时也在对表 t1 进行 INSERT 操作。这种情况下,可能会导致数据不一致或集群故障。

2.多主模式不支持 SERIALIZABLE 隔离级别:

解释:SERIALIZABLE 是 MySQL 中最严格的隔离级别,但在 MGR 的多主模式下可能不被支持。

举例:如果你在 MGR 的多主模式下尝试设置 SERIALIZABLE 隔离级别,可能会收到错误或警告信息,或者该设置可能不会被尊重。

3.多主模式不支持多级关联外键:

解释:外键是 MySQL 中用于维护数据之间引用完整性的一种机制。但在 MGR 的多主模式下,可能不支持多级关联的外键。

举例:假设你有三个表 A、B 和 C,其中 B 是 A 的子表(通过外键关联),C 是 B 的子表(也通过外键关联)。在 MGR 的多主模式下,这种多级关联的外键可能不会被支持或行为可能与预期不同。

注意点:

1.MGR最大支持9个节点,超过将拒绝新节点加入。

2.官方建议节点数量为奇数个。

3.表必须有显式主键,否则即使可以建表也无法插入数据

4.数据库默认是utf8mb4

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/9943.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

霍金《时间简史 A Brief History of Time》书后索引(A--D)

图源:Wikipedia INDEX A Abacus Absolute position Absolute time Absolute zero Acceleration Age of the universe Air resistance Albrecht, Andreas Alpha Centauri Alpher, Ralph Anthropic principle Antigravity Antiparticles Aristotle Arrows of time …

基于Vant UI的微信小程序开发(随时更新的写手)

基于Vant UI的微信小程序开发✨ (一)悬浮浮动1、效果图:只要无脑引用样式就可以了2、页面代码3、js代码4、样式代码 (二)底部跳转1、效果图:点击我要发布跳转到发布的页面2、js代码3、页面代码4、app.json代…

vue项目设置主题色

在vue开发过程中,很多页面为了保持主题颜色统一,且方便后期管理,通常会设有主题色,通过主题色可以使得页面上的按钮单选框等控件保持颜色统一。 接下来介绍其中一种方法: 1.先建立一个js文件用于存放主题色&#xff…

我觉得POC应该贴近实际

今天我看到一位老师给我一份测试数据。 这是三个国产数据库。算是分布式的。其中有两个和我比较熟悉,但是这个数据看上去并不好。看上去第一个黄色的数据库数据是这里最好的了。但是即使如此,我相信大部分做数据库的人都知道。MySQL和PostgreSQL平时拿出…

Spark Streaming笔记总结(保姆级)

万字长文警告!!! 目录 一、离线计算与流式计算 1.1 离线计算 1.1.1 离线计算的特点 1.1.2 离线计算的应用场景 1.1.3 离线计算代表技术 1.2 流式计算 1.2.1 流式计算的特点 1.2.2 流式计算的应用场景 1.2.3 流式计算的代表技术 二…

最小生成树刷题笔记

算法基础: 首先是prim算法三部曲: (1)找到距离最小生成树最近的节点。 (2)将距离最小生成树最近的节点加入到最小生成树中。 (3)更新非最小生成树节点到最小生成树的距离。 实现…

HTML批量文件上传3—Servlet批量文件处理FileUpLoad

作者:私语茶馆 1.开源的文件上传组件介绍 本文使用的是Apache Commons下面的一个子项目FileUpload,另外一个常见组件是SmartUpload。FileUpload遵循RFC 1897,即“Form-based File Upload in HTML”,对于请求需要满足:HTTP协议,Post请求,content Type=“multipart/form-d…

Kafka 面试题(五)

1. kafka的消费者是pull(拉)还是push(推)模式,这种模式有什么好处? Kafka的消费者是pull(拉)模式。在这种模式下,消费者主动从Kafka的broker中拉取数据来进行消费。 这种pull模式的好处主要体现在以下几个方面&#…

人工智能是什么

人工智能是一个广泛的领域,其中包括了机器学习和深度学习。 - 机器学习: 是人工智能的一个子领域,它关注的是让计算机系统通过学习数据,从中获取知识并做出预测或决策,而无需明确地编写特定的规则。机器学习的方法包括…

kernel32.dll丢失要如何解决?电脑kernel32.dll文件下载方法

kernel32.dll丢失要怎么解决才好?其实针对这个问题还是有很多种的解决方法的,只要你明白了kernel32.dll的作用,了解kernel32.dll,那么就可以有很多种方法去解决,下面一起来看看吧。 一.了解kernel32.dll文件 kernel32…

6个超TM好用的神仙App推荐!

1. AI文本视频生成工具——Jurilu Jurilu 是一款功能强大的 AI 文本视频生成器,允许用户快速将文本内容转换成极具吸引力的视频。它的使用非常简单:只需要输入文字,选择想要的样式和模板,Jurilu 就会自动将文字转换成生动的视频。…

Vue项目npm install certificate has expired报错解决方法

1.Vue项目 npm install 安装依赖突然报错: npm ERR! code CERT_HAS_EXPIRED npm ERR! errno CERT_HAS_EXPIRED npm ERR! request to https://registry.npm.taobao.org/zrender/download/zrender-4.3.0.tgz failed, reason: certificate has expired npm ERR! A com…

代码随想录-算法训练营day35【贪心算法05:无重叠区间、划分字母区间、合并区间】

代码随想录-035期-算法训练营【博客笔记汇总表】-CSDN博客 第八章 贪心算法 part05● 435. 无重叠区间 ● 763.划分字母区间 ● 56. 合并区间 详细布置 今天的三道题目,都算是 重叠区间 问题,大家可以好好感受一下。 都属于那种看起来好复杂&#xff…

AI预测福彩3D+排3实战化赚米验证第6弹2024年5月10日第6次测试

由于最近几天会比较忙,空闲时间较少,为了尽快的发布预测结果,今天继续把3D和排3合并至一篇文章进行发布。好了,直接上结果吧~ 1.5月10日3D预测结果 百位:4、5、6、3、1、0 十位:4、2、5、7、…

一个可以同时使用USB和WIFI传输文件到电脑的软件

双轨快传 结合USB2.0和WIFI6技术,通过1000Mbps网口实现每秒高达150MB的传输速率(理论上可达40MB/s通过USB和110MB/s通过WIFI)。 使用 模式 支持普通模式和Root模式,Root模式可访问~/Android/data/与/data/data/目录下的文件。 …

ETL-kettle数据转换及组件使用详解

目录 一、txt文本转换成excel 1、新建、转换 2、构建流程图 3、配置数据流图中的各个组件 3.1、配置文件文本输入组件 3.2、 配置Excel输出组件 4、保存执行 二、excel转换成mysql (1)在MySQL数据库中创建数据库,这个根据自身情况。我…

一文了解spring的aop知识

推荐工具 objectlog 对于重要的一些数据,我们需要记录一条记录的所有版本变化过程,做到持续追踪,为后续问题追踪提供思路。objectlog工具是一个记录单个对象属性变化的日志工具,工具采用spring切面和mybatis拦截器相关技术编写了api依赖包&a…

机器学习实战宝典:用scikit-learn打造智能应用

书接上文——《数据探险家的终极指南:用Python挖掘机器学习的奥秘》 前文我们在这段精彩的机器学习探险之旅中,从基础概念出发,深入探索了使用Python和scikit-learn库进行数据分析和模型构建的全过程。 我们首先了解了机器学习的基本原理&am…

Mysql 锁

锁 从锁的性能有乐观锁和悲观锁;锁的粒度有行锁、页锁、表锁;锁的对数据库操作类型有读锁、写锁、意向锁 乐观锁:采用cas机制,不会阻塞数据库操作,只会针对当前事务进行失败重试。(用于写操作不多的情况)悲观锁&…

[c++]多态的分析

多态详细解读 多态的概念多态的构成条件 接口继承和实现继承: 多态的原理:动态绑定和静态绑定 多继承中的虚函数表 多态的概念 -通俗的来说:当不同的对象去完成某同一行为时,会产生不同的状态。 多态的构成条件 必须通过基类的指针或者引用调用虚函数1虚…