一  简介:今天咱们来聊聊MGR的单主切换和新节点加入
二 单主模式下变成多主:
  1 3306
  STOP group_replication;
  set global group_replication_single_primary_mode=OFF; //关闭单主模式
  set global group_replication_enforce_update_everywhere_checks= ON;//打开多主模式
  set global group_replication_bootstrap_group=ON;
  START group_replication;
  set global group_replication_bootstrap_group=OFF;
 2 3307 3308
  STOP group_replication;
  set global group_replication_single_primary_mode=OFF;//关闭单主
  set global group_replication_enforce_update_everywhere_checks= ON;//打开多主
  START group_replication;

3 进行测试
3306 3307 分别建立库 查看其他实例
证明成功

4 从库恢复

STOP group_replication;
set global group_replication_enforce_update_everywhere_checks= off;
set global group_replication_single_primary_mode=on;
START group_replication;

三 如何添加节点(少数据量情况下)

1 初始化节点
  /usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data_3309
2 启动节点并修改密码
 nohup /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my_3309.cnf &
 mysql -uroot -S /tmp/mysql_3309.sock -e "set password for 'root'@'localhost' = password('test');"
 mysql -uroot -ptest -S /tmp/mysql_3309.sock -e "flush privileges"
3 创建用户
set sql_log_bin=0;
GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO 'repl'@'%' IDENTIFIED BY 'repl';
flush privileges;
set sql_log_bin=1;
4 加入
change master to master_user='repl',master_password='repl' for channel 'group_replication_recovery';
install plugin group_replication soname 'group_replication.so';
set global group_replication_single_primary_mode=OFF;//关闭单主
set global group_replication_enforce_update_everywhere_checks= ON;//打开多主
set global group_replication_allow_local_disjoint_gtids_join=1;//这里要注意 一定要执行这步 否则会加入失败
START group_replication;

四 总结:

1 推荐单主模式,多主只是为了测试功能性

2 如果大量数据情况下,要采用备份恢复方式,不建议从头追加,一旦binlog丢失,成员将会有问题

mysql 架构~多写模式MGR的更多相关文章

  1. MGR架构~单写模式架构的搭建

    一 简介 :MGR一直没有时间测试,今天咱们来初步了解搭建一下呗 二 环境: mysql5.7.20  单台机器 启动三实例 三  mysql 搭建: 1 建立相关目录+ mkdir -p /data ...

  2. ProxySQL Cluster 高可用集群 + MySQL MGR环境部署 (多写模式) 部署记录

    文章转载自:https://blog.51cto.com/u_6215974/4937192 ProxySQL 在早期版本若需要做高可用,需要搭建两个实例,进行冗余.但两个ProxySQL实例之间的数 ...

  3. mysql 架构~mgr具体细节分析

    一 简介:今天咱们来聊聊mgr的具体实现细节 二 关于多点写入的锁冲突问题以及处理:   certify模块主要负责检查事务是否允许提交,是否与其它事务存在冲突,如两个事务可能修改同一行数据.在单机系 ...

  4. Atitit. 数据约束 校验 原理理论与 架构设计 理念模式java php c#.net js javascript mysql oracle

    Atitit. 数据约束 校验 原理理论与 架构设计 理念模式java php c#.net js javascript mysql oracle 1. 主键1 2. uniq  index2 3.  ...

  5. MySQL 8.0.15 配置 MGR单主多从

    转载自:http://www.cnblogs.com/zhangzihong/p/10443526.html 一.简介 MySQL Group Replication(简称MGR)字面意思是mysql ...

  6. ch2 MySQL 架构组成

    第 2 章 MySQL 架构组成 前言 麻雀虽小,五脏俱全.MySQL    虽然以简单著称,但其内部结构并不简单.本章从 MySQL 物理组成.逻辑组成,以及相关工具几个角度来介绍    MySQL ...

  7. mysql笔记01 MySQL架构与历史、Schema与数据类型优化

    MySQL架构与历史 1. MySQL架构推荐参考:http://www.cnblogs.com/baochuan/archive/2012/03/15/2397536.html 2. MySQL会解 ...

  8. 理解MySQL——架构与概念

    写在前面:最早接触的MySQL是在三年前,那时候MySQL还是4.x版本,很多功能都不支持,比如,存储过程,视图,触发器,更别说分布式事务等复杂特性了.但从5.0(2005年10月)开始,MySQL渐 ...

  9. MySQL 架构

    原文:MySQL 架构 MySQL架构和结构分析 官方架构图: MySQL DB 各模块架构图如下: MySQL安装方式 MySQL初始化 简介:什么是事务: 事务: ACID :  事务确保了银行不 ...

随机推荐

  1. 【长期更新】 PHP题目

    1.要求在一组数中,插入一个新数,并维护原来的排序方式不变 <?php //1.要求在一组数中,插入一个新数,并维护原来的排序方式不变 function insertArr($arr,$val) ...

  2. java构造函数总结

    构造函数总结 概念:    创建对象时由JVM自动调用的函数 作用:    在创建对象的时候给对象的成员变量赋值: 写法: 修饰符:可以用访问权限修饰符(public.private等)修饰:不能用s ...

  3. 洛谷P4768 [NOI2018]归程(可持久化并查集,最短路)

    闲话 一个蒟蒻,在网络同步赛上进行了这样的表演-- T2组合计数不会,T3字符串数据结构不会,于是爆肝T1 一开始以为整个地图都有车,然后写了2h+的树套树,终于发现样例过不去 然后写可持久化并查集D ...

  4. Python数据类型(字典和集合)

    1.5 Dictionary(字典) 在Python中,字典用放在花括号{}中一系列键-值对表示.键和值之间用冒号分隔,键-值对之间用逗号分隔. 在字典中,你想存储多少个键-值对都可以.每个键都与一个 ...

  5. A1024. Palindromic Number

    A number that will be the same when it is written forwards or backwards is known as a Palindromic Nu ...

  6. Vector 是线程安全的,是不是在多线程下操作Vector就可以不用加Synchronized

    如标题一样,如果之前让我回答,我会说,是的,在多线程的环境下操作Vector,不需要加Synchronized. 但是我今天无意间看到一篇文章,我才发现我之前的想法是错误的,这篇文章的地址: http ...

  7. 多线程状态下调用SimpleDateFormat.format()抛出 ArrayIndexOutOfBoundsException 异常

    本来想在类的顶部设置一个 静态的SimpleDateFormat常量 public final static DateFormat dateFormatGMT = new SimpleDateForm ...

  8. hibernate中复合主键的使用

    转: https://blog.csdn.net/shutingwang/article/details/6627730 https://blog.csdn.net/lmy86263/article/ ...

  9. SQL Server sp_executesql介绍和使用

    execute相信大家都用的用熟了,简写为exec,除了用来执行存储过程,一般都用来执行动态Sql sp_executesql,sql2005中引入的新的系统存储过程,也是用来处理动态sql的, 如: ...

  10. 用访问控制列表(ACL)实现包过滤

      用访问控制列表(ACL)实现包过滤 一.ACL概述 1.ACL(Access Control List,访问控制列表)是用来实现数据包识别功能的 2.ACL可以应用于诸多方面 a>.b包过滤 ...