在线启用GTID,这样就不会对生产造成影响。

1.在每个Server上,执行 SET @@GLOBAL.ENFORCE_GTID_CONSISTENCY=WARN;确保在ErrorLog中没有WARN【警告】,若有请修复后再进行下一下。

2.在每个Server上,执行SET @@GLOBAL.ENFORCE_GTID_CONSISTENCY=ON;

3.在每个Server上,执行SET @@GLOABL.GTID_MODE=OFF_PERMISSIVE;该步在Server间的执行先后无关,一定要在所有Server都执行守我后在进行下一下。

4.在每个Server上,执行SET @@GLOABL.GTID_MODE=ON_PERMISSIVE;

5.等待直到所有Server上的ONGOING_ANONYMOUS_TRANSACTION_COUNT都为0.可用下面检测:
  SHOW STATUS LIKE 'ONGOING_ANONYMOUS_TRANSACTION_COUNT';

6.确保每个slave上的anonymous transactions都复制完成,用于在线切换复制模式:先在Master上 SHOW MASTER STATUS;再在每个Slave上执行以确定要等待的时间:SELECT MASTER_POS_WAIT(file,position);

7.在每个Server上,执行 SET @@GLOBAL.GTID_MODE=ON;

8.修改每个Server上的配置文件,添加gtid_mode=ON;为了在启动时自动Fail-over,可以执行下面的,若为多源复制,则要为每个channel执行。

  STOP SLAVE[FOR CHANNEL 'channel'];

  CHANGE MASTER TO MASTER_AUTO_POSITION=1 [FOR CHANNEL 'channel'];

  START SLAVE [FOR CHANNEL 'channel'];

在线取消 GTID事务,改为BinLog:

1.为每个Slave执行下面的:

STOP SLAVE [FOR CHANNEL 'channel'];
CHANGE MASTER TO MASTER_AUTO_POSITION = 0, MASTER_LOG_FILE = file, \
MASTER_LOG_POS = position [FOR CHANNEL 'channel'];
START SLAVE [FOR CHANNEL 'channel'];
2.在每个Server上:SET @@GLOBAL.GTID_MODE = ON_PERMISSIVE;

3.在每个Server上:SET @@GLOBAL.GTID_MODE = OFF_PERMISSIVE;

4.在每个server上,Check 直到@@GLOBAL.GTID_OWNED为空。

5.等待所有事务都被复制到所有Slave上。确认方法同上。

6.在每个Server上,执行SET @@GLOBAL.GTID_MODE=OFF;

7.在每个Server上,配置 gtid_mode=OFF,

如果想设enforce_gtid_consistency=OFF,也要在配置中加上。

 

GTID复制之二的更多相关文章

  1. MySQL 5.7基于GTID复制的常见问题和修复步骤(二)

    [问题二] 有一个集群(MySQL5.7.23)切换后复制slave报1236,其实是不小心在slave上执行了事务导致 Got fatal error 1236 from master when r ...

  2. 深入MySQL复制(二):基于GTID复制

    相比传统的MySQL复制,gtid复制无论是配置还是维护都要轻松的多.本文对gtid复制稍作介绍. MySQL基于GTID复制官方手册:https://dev.mysql.com/doc/refman ...

  3. MariaDB的GTID复制和多源复制

    什么是GTID? GTID就是全局事务ID(global transaction identifier ),最初由google实现,官方MySQL在5.6才加入该功能.GTID实际上是由UUID+TI ...

  4. MariaDB GTID 复制同步

    MariaDB GTID 复制同步 GTID:Global Transaction ID,全局事务ID,在整个主从复制架构中任何两个事物ID是不能相同的.全局事务ID是Mster服务器生成一个128位 ...

  5. mysql之 MySQL 主从基于 GTID 复制原理概述

    一. 什么是GTID ( Global transaction identifiers ):MySQL-5.6.2开始支持,MySQL-5.6.10后完善,GTID 分成两部分,一部分是服务的UUid ...

  6. MySQL的GTID复制与传统复制的相互转换

    主库:192.168.225.128:3307从库1:192.168.225.129:3307 Gtid作为5.6版本以来的杀手级特性,却因为不支持拓扑结构内开关而饱受诟病.如果你需要从未开启GTID ...

  7. MySQL5.7 的GTID复制

    MySQL5.7 的GTID复制 作者:尹正杰  版权声明:原创作品,谢绝转载!否则将追究法律责任. 在MySQL5.6之后其官方推出了GTID复制方式,和传统的基于bin log复制方式有所不同,接 ...

  8. Mysql基于GTID复制模式-运维小结 (完整篇)

    先来看mysql5.6主从同步操作时遇到的一个报错:mysql> change master to master_host='192.168.10.59',master_user='repli' ...

  9. MHA-手动Failover流程(传统复制&GTID复制)

    本文仅梳理手动Failover流程.MHA的介绍详见:MySQL高可用架构之MHA 一.基本环境 1.1.复制结构 VMware10.0+CentOS6.9+MySQL5.7.21 ROLE HOST ...

随机推荐

  1. php综合应用

    php面试题之五--PHP综合应用(高级部分) 五.PHP综合应用 1.写出下列服务的用途和默认端口(新浪网技术部) ftp.ssh.http.telnet.https ftp:File Transf ...

  2. 关于cin,getchar(),scanf()的注意事项(转)

      问题描述一:(分析scanf()和getchar()读取字符) scanf(), getchar()等都是标准输入函数,一般人都会觉得这几个函数非常简单,没什么特殊的.但是有时候却就是因为使用这些 ...

  3. HDU 1064 Financial Management

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1064 解题报告:用来凑个题数吧,看题的时间比过题的时间多的多,就是输入12个浮点数,然后输出平均数,只 ...

  4. hdu4747——Mex

    1.题目大意:对一个序列的每一个区间求Mex,最后所有的mex相加(mex就是SG的那个),力求nlogn... 2.分析:最近开始刷线段树了,还是有很多不会啊 首先把1-1 1-2 1-- 1-n这 ...

  5. BZOJ1588——[HNOI2002]营业额统计

    1.题目大意:一个简单的treap模板题(我才不告诉你题目少一句话呢,看discuss去 2.分析:treap模板题 #include <cstdio> #include <cstd ...

  6. PHP学习路线

    0x1 0x2

  7. Android使用Unity导致Activity被销毁的解决办法

    由于需要在Android中使用Unity(Android的Activity会继承Unity提供的UnityPlayerActivity),可能是第三方的原因退出Unity后就导致Android整个应用 ...

  8. caffe学习系列(5):激活层介绍

    参考:http://www.cnblogs.com/denny402/p/5072507.html 主要介绍了各个激活函数.

  9. POJ 2631 DFS+带权无向图最长路径

    http://poj.org/problem?id=2631 2333水题, 有一个小技巧是说随便找一个点作为起点, 找到这个点的最远点, 以这个最远点为起点, 再次找到的最远点就是这个图的最远点 证 ...

  10. 表单验证神器——jquery.validate插件

    jquery.validate.js插件应用举例,ajax方式提交数据. html代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Tr ...