MySQL组复制MGR(四)-- 单主模式与多主模式
(一)概述
组复制可以运行在单主模式下,也可以运行在多主模式下,默认为单主模式。组的不同成员不能部署在不同模式下,要切换模式,需要使用不同配置重新启动组而不是单个server。
相关参数如下:
# 该参数决定启用单主模式(on)还是多主模式(off),默认单主模式
loose-group_replication_single_primary_mode=off # 在多主模式下部署时,将检查语句以确保它们与该模式兼容。在多主模式下部署组复制时,将进行以下检查:
# --如果事务是在SERIALIZABLE隔离级别下执行的,则在与组同步时,其提交将失败。
# --如果事务是针对具有具有级联约束的外键的表执行的,则该事务在与组同步时将无法提交。
# 这些检查可以通过设置选项来禁用 group_replication_enforce_update_everywhere_checks 到FALSE。在单主要模式下部署时,此选项必须设置为FALSE。
loose-group_replication_enforce_update_everywhere_checks=on
(二)单主模式
在单主模式下,组中只有一个节点可执行写操作,其它节点被自动设置为只读模式,主服务器通常是用于引导的第一个Server,后续所有其它的server设为只读。
在单主模式下,当主节点失败时,自动的选举机制将选择新的主节点,选举方法如下:
- 如果所有节点数据库版本均相同,则选择参数“group_replication_member_weight”值最大的节点作为主节点,如果多个服务器具有相同的“group_replication_member_weight”,则根据数据库实例的server_uuid排序,并选择第一个服务器。
- 如果节点数据库版本不一样,则选举过程会受影响。不过版本不一样的情况较少,这里不做讨论。

图.单主模式下的主节点选举
对于单主模式,如果要找出哪个是主数据库,可以使用下面的方法:
mysql> SHOW STATUS LIKE 'group_replication_primary_member'
(二)多主模式
多主模式每个节点都可以写数据,因此不存在节点选举,如果组成员发生故障,业务切换节点即可。

图.多主模式下的业务切换
MySQL组复制MGR(四)-- 单主模式与多主模式的更多相关文章
- MySQL组复制MGR(一)-- 技术概述
(一)复制技术的发展 MySQL的复制技术主要经历了异步主从复制,半同步复制,组复制(Group Replication)3个阶段. (1)传统的异步主从复制 传统的MySQL提供了一种简单的主从复制 ...
- MySQL组复制MGR(二)-- 组复制搭建
(一)主机操作 (1)路由信息vmnet5 192.168.10.0 (2)主机信息 主机名称 IP地址 操作系统版本 数据库版本 mgr-node1 192.168.10.11 centos 7.4 ...
- MySQL中间件之ProxySQL(15):ProxySQL代理MySQL组复制
返回ProxySQL系列文章:http://www.cnblogs.com/f-ck-need-u/p/7586194.html 1.ProxySQL+组复制前言 在以前的ProxySQL版本中,要支 ...
- Mysql组复制之单主模式(一)
环境 系统:CentOS release 6.9 (Final) Mysql:5.7 机器: S1 10.0.0.7 lemon S2 10.0.0.8 lemon2 S3 10.0.0.9 lemo ...
- MySQL高可用架构之MySQL5.7组复制MGR
MySQL高可用架构之MySQL5.7组复制MGR########################################################################### ...
- 【MySQL 组复制】1.组复制技术简介
组复制有两种模式 单主模式(single-primary/single-master)下自动选举出一个主节点,从而只允许在同一时刻只有该主节点可以更新数据. 对于MySQL的高级使用人员,可以通过复制 ...
- mysql组复制集群简介
mysql组复制集群拓扑: 环境: centos6.5 mysql5.7.19 一.组复制搭建: 配置hosts文件 再三台服务器上分别启动一个mysql实例,共三个. 参考配置文件如下: serve ...
- 使用MySQL组复制的限制和局限性
本节列出和解释了组复制相关的要求和限制. 1.组复制的要求 要使用组复制,每个MySQL节点必须满足以下条件: 1.1 基本要求 InnoDB存储引擎:数据必须存储在事务型的InnoDB存储引擎中.事 ...
- MySQL Group Replication(组复制MGR)
MGR基本要求: 1.InnoDB存储引擎 2.主键,每个表必须具有已定义的主键或等效的主键,其中等效项是非null唯一键 3.IPv4网络 4.网络性能 5.开启二进制日志并开启GTID模式 6.m ...
随机推荐
- swift对象存储安装
对象存储服务概览 OpenStack对象存储是一个多租户的对象存储系统,它支持大规模扩展,可以以低成本来管理大型的非结构化数据,通过RESTful HTTP 应用程序接口. 它包含下列组件: 代理服务 ...
- 基础的markdown用法
首先推荐一款在线的markdown编辑器:Editor.md 一篇博客里面就是文字与图片的集合.markdown其实就是编辑文字,插入图片的工具.对于大多数人来说,学习几个标签就可以了. 标题 #** ...
- React-Native WebView使用本地js,css渲染html
前言 最近在使用React-Native开发一个App,遇见一个问题,Webview组件根据url来加载页面,但是这样导致的一个问题页面加载的时间有点长,我想优化一下,因为页面只要是一些内容展示,我想 ...
- 字节流,读取 a.txt 文件内容,并打印出来
import java.io.FileInputStream;import java.io.IOException; /** 字节流,读取 a.txt 文件内容,并打印出来 */public clas ...
- HDU 5969 最大的位或【贪心】
题目 B君和G君聊天的时候想到了如下的问题. 给定自然数l和r ,选取2个整数x,y满足l <= x <= y <= r ,使得x|y最大. 其中|表示按位或,即C. C++. Ja ...
- js写一个简单的九九乘法表
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Oracle Online Patching报错"This is not a RAC setup. OPatch cannot determine the local node name"
Oracle Online Patching报错"This is not a RAC setup. OPatch cannot determine the local node name&q ...
- 前端老司机常用的方法CSS如何清除浮动?清除浮动的几种方式
在前端开发过程中,我们经常会使用到浮动(float),这个我们即爱又恨的属性.爱,是因为通过浮动,我们能很方便地进行布局:恨,是因为浮动之后遗留下来太多的问题需要解决.下面本篇文章给大家介绍CSS清除 ...
- MySQL 树形索引结构 B树 B+树
MySQL 树形索引结构 B树 B+树 如何评估适合索引的数据结构 索引的本质是一种数据结构 内存只是临时存储,容量有限且容易丢失数据.因此我们需要将数据放在硬盘上. 在硬盘上进行查询时也就产生了 ...
- UVA1464 Traffic Real Time Query System
传送门:https://www.luogu.com.cn/problem/UVA1464 看到这道题,求必经的点数,还是无向图.那么妥妥的圆方树.圆方树上的任意两圆点间的路径必定是圆点方点相交错的,对 ...