这里说一下关于如何在线变更复制类型(日志复制到全局事物复制),参考课程:mysql5.7复制实战

先决条件
    (1)集群中所有的服务器版本均高于5.7.6
(2)集群中所有的服务器gtid_mode都设置为off(使用 show variables like 'gtid_mode' 命令查看)

1:将基于日志的复制变更为基于事物的复制处理步骤
    (1) 设置参数
   gtid_mode在5.7版本有一下4个值
   off:关闭
   off_permissive:准备关闭
   on_permissive:准备开启
   on:开启
   这4个值只能从off-->off_permissive-->on_permissive-->on或者(off<--off_permissive<--on_permissive<--on)的顺序设置
   
   (主服务器和从服务器上分别执行以下命令,前2条命令按顺序分别指向,而不是在一台服务器上一次性事项所有命令)
       set @@global.enforce_gtid_consistency=warn;      //强制设置gtid一致性,值为:warn,设置完后建议用tail -f命令查看一下mysql-error.log是否有异常信息
       set @@global.enforce_gtid_consistency=on;        //强制设置gtid一致性,值为:on
       set @@global.gtid_mode=off_permissive;            //设置gtid_mode为准备关闭状态
       set @@global.gtid_mode=on_permissive;         //设置gtid_mode为准备开启状态
   
    (2) 在从服务器上查看状态 
   show status like 'ongoing_anonymous_transaction_count';   //查看基于日志的复制的事物数量,为0或者为空表示正常。这一步是为了保证基于日志复制的数据的一致性,防止有事物在主
                                                             //服务器上执行完成,在从服务器上没有被执行,导致数据丢失
   set @@global.gtid_mode=on;                       //设置gtid_mode为开启状态
   
   在从服务器上
   停止slave;
   stop slave;
   change master to master_auto_position=1;  (改变复制方式)
   start slave;

查看

(3)持久配置(重要操作)
    确认成功切换到基于事物的复制之后,需要将一下2个参数添加到my.cnf中(所有的mysql服务器节点)
保证在下次重启mysql服务器的时候会自动的启动全局事物复制的方式进行主从同步
    enforce_gtid_consistency=on
gtid_mode=on

这一步非常重要,千万不要忘记了。不然下次启动mysql你就会发现主从同步跪了。

2: 将基于事物复制变更为基于日志的复制
      应用场景(由于工具或接入的第三方应用不支持事物的复制,则要改为基于日志的复制)
  
先决条件
    (1)集群中所有的服务器版本均高于5.7.6
(2)集群中所有的服务器gtid_mode都设置为on(使用 show variables like 'gtid_mode' 命令查看)

步骤:
    (1)
   stop slave;
   change master to master_auto_position=0,master_log_file='file',master_log_pos=;  //停止事物复制,设置日志复制的日志文件和日志文件节点
   start slave; 
   (2)     
       set @@global.gtid_mode=on_permissive;            //设置gtid_mode为准备开启状态
       set @@global.gtid_mode=off_permissive;         //设置gtid_mode为准备关闭状态
   
   查看gtid_ownend是否为空字符串(在所有服务器上均要查看)
       sellect @@global.gtid_owned;
       set @@global.gtid_mode=off;   //关闭
   (3) 
       持久配置(重要操作)修改my.cnf中(所有的mysql服务器节点)
       enforce_gtid_consistency=off
   gtid_mode=off
这个其实就是和从事物到日志复制的一个反向操作

更多资料相关Mysql GTID 模式详解     mysql5.6新特性GTID基本原理    MySQL 5.6 全局事务 ID(GTID)兑现原理(一)

转自

mysql5.7主从复制--在线变更复制类型 - CSDN博客 http://blog.csdn.net/u014739462/article/details/70183458

mysql 5.7 gtid复制到传统复制在线切换 - zengxuewen2045的博客 - CSDN博客 http://blog.csdn.net/zengxuewen2045/article/details/52464390

转载于:https://www.cnblogs.com/paul8339/p/8319118.html

mysql5.7主从复制--在线变更复制类型【转】相关推荐

  1. Centos mysql5.7 主从复制 之 无损复制,增强版的半同步复制 ( lossless replication )单向同步

    mysql 有四种同步方式: 1.异步复制( asynchronous replication) 原理:在异步复制中,master写数据到binlog且sync,slave request binlo ...

  2. MySQL5.6主从复制搭建基于日志(binlog)

    什么是MySQL主从复制 简单来说,就是保证主SQL(Master)和从SQL(Slave)的数据是一致性的,向Master插入数据后,Slave会自动从Master把修改的数据同步过来(有一定的延迟 ...

  3. mysql show status 过滤_在线更改复制过滤选项的方法

    在线更改复制过滤选项的方法 发布时间:2020-06-06 14:06:39 来源:亿速云 阅读:191 作者:Leah 如何在线更改复制过滤选项?针对这个问题,今天小编总结这篇有关修改复制过滤的文章 ...

  4. mysql5.6主从复制与基于amoeba实现读写分离

    Mysql5.6主从复制 1.特性分析说明: mysql 5.6支持多线程复制的机制并且mysql 5.6还引用了GTID的概念,使得其复制功能的配置.监控及管理变得更加易于实现,且更加健壮. TID ...

  5. Mysql 主从复制(AB复制)

    Mysql 主从复制(AB复制) Mysql的主从复制又叫做AB复制,主要作用就是将主服务器上的数据及时复制到从服务器上,来实现数据的同步,这样做的好处有,在进行数据备份时,可以减轻主服务器的运行压力 ...

  6. MySQL复制类型介绍

    MySQL复制类型介绍: (1)同步复制:MASTER提交事务,直到事务在所有的Slave都已提交,此时,才会返回给客户端,事务执行完毕. 缺点:完成一个事务可能会有很大的延迟. slave1 MAs ...

  7. MySQL5.6 主从复制配置

    2019独角兽企业重金招聘Python工程师标准>>> MySQL5.6 主从复制配置 转自本人独立博客:http://www.wangboak.com/2014/10/mysql5 ...

  8. 配置MySQL5.7基于GTID的复制

    配置MySQL5.7基于GTID的复制 一.       安装前规划 1.1   大体架构规划如下 master 192.168.9.71:3306 Slave 192.168.9.72:3306 数 ...

  9. 锡山国土推行数据中心“在线变更”

    为全面提高全区土地变更工作效率,国土锡山分局全面推行数据中心在线变更.由不动产登记科利用数据中心管理平台,将遥感影像.监测信息以及监测图斑的土地利用现状信息.土地利用总体规划信息录入"数据中 ...

最新文章

  1. 剑指offer:矩形覆盖 python 实现
  2. 奥的斯GECS系统服务器手册,奥的斯电梯GECS 扶梯控制柜介绍.pdf
  3. 【UGV】Mec 麦轮版小车结合角度传感器实现直线行走示例
  4. MyBatis 学习 - 注解
  5. DDD:如何更好的使用值对象
  6. Java EE 7 / JAX-RS 2.0 – REST上的CORS
  7. nginx编译安装与配置使用
  8. [轨道力学] 轨道力学期末复习
  9. 投資效益計算公式4/10
  10. 用spring来控制反转(ioc)
  11. QTP11.5/UFT官方下载与安装
  12. 自然数简化到素数:黎曼猜想RiemannHypothesis及其解释(公号回复“黎曼猜想”下载PDF经典收藏版彩标资料)
  13. 自定义控件:Flag标签
  14. AV1代码学习:av1_encode_strategy、denoise_and_encode、av1_encode函数
  15. 用 GNS3 做CCNA网络实验(4)
  16. linux 执行 ktr脚本,kettle在linux下面用于shell脚本执行:转换或者作业
  17. 3D游戏建模行业门槛高吗
  18. Unity学习笔记(7) Unity2D骨骼动画制作流程
  19. 百度java面试应届,秋招 百度二轮面试---血淋淋的经历写实
  20. CentOS7 配置搭建安装LNMP

热门文章

  1. JavaScript验证表单数据,HTML自动验证表单数据是否为空,数字范围
  2. Aspose-Cells结合Apache POI生成excel文件以及转换为pdf
  3. jsp,mysql乱码情况1
  4. 贪吃的大嘴用java_算法提高 贪吃的大嘴
  5. VirtualBox的虚拟硬盘vdi扩容
  6. 独立游戏:四人团队如何100天做到百万用户
  7. Sprin boot 加载位置顺序
  8. Android点赞头像列表
  9. 配置多台机器SSH相互通信信任
  10. SparkSQL Catalog的作用和访问Hive元数据信息