在线修改GTID模式

1、 在每一台机器上执行命令

SET @@GLOBAL.ENFORCE_GTID_CONSISTENCY = WARN;

这是很重要的一步,必须确保服务器上没有违反GTID规范的SQL,否则当设置为GTID模式后,
这些业务SQL会被拒绝执行,建议设置上面变量值间隔一天后errorLog没有警告,才可进行下一步。

2、 在每一台服务器上执行

SET @@GLOBAL.ENFORCE_GTID_CONSISTENCY = ON;

上面参数表示GTID模式下一些SQL会被拒绝执行,有:create table ...select ....,CREATE TEMPORARY TABLE or DROP TEMPORARY TABLE,在一个事务中更新事务表和非事务表。

3、 在每一台服务器上执行

SET @@GLOBAL.GTID_MODE = OFF_PERMISSIVE;

表示采用匿名事务记录binlog,slave可以兼容GTID事务和匿名事务,执行该命令没有顺序可言,但是必须每个机器都要执行。

4、在每一台服务器上执行

SET @@GLOBAL.GTID_MODE = ON_PERMISSIVE;

表示采用GTID事务记录binlog,slave可以兼容GTID事务和匿名事务,执行该命令没有顺序可言,但是必须每个机器都要执行。

5、等待步骤5前产生的事务(匿名事务)全部在slave都已应用完成

6.1)在master上执行:show master status;记录file和pos
6.2) 在所有slave执行:SELECT MASTER_POS_WAIT('file', pos);如果执行结果都为0表示都已经应用完成,可以进行下一步,否则需要一直等待完成。 方法二:在每一台slave上都执行show master status;查看Executed_Gtid_Set是否有值,如果不为空了,说明已经开始使用GTID复制了

6、在每一台服务器上执行

SET @@GLOBAL.GTID_MODE = ON;

7、在所有slave上执行

 stop slave;
CHANGE MASTER TO MASTER_AUTO_POSITION = 1;
START SLAVE;

8、在每一台服务器上修改my.cnf

 gtid_mode = on
enforce_gtid_consistency = 1

在线修改GTID模式的更多相关文章

  1. MySQL传统点位复制在线转为GTID模式复制

    1.  GTID优缺点 MySQL传统点位复制在5.7版本前是主要的主从复制模式,而随着MySQL5.6版本引入GTID,并且MySQL5.7进行各方面的优化以后,在mySQL5.7(尤其是MySQL ...

  2. (5.12)mysql高可用系列——复制中的在线切换GTID模式/增加节点/删除节点

    目录 [0]需求 前提,已经假设好基于传统异步复制的主库和从库1. [0.1]传统异步切换成基于GTID的无损模式 [0.2]增加特殊要求的从库 [1]操作环境 [2]构建 复制->半同步复制 ...

  3. 在线建立或重做mysql主从复制架构方法(传统模式和GTID模式)【转】

    mysql主从复制架构,是mysql数据库主要特色之一,绝大多数公司都有用到. 而GTID模式是基于事务的复制模式的意思,发展到现在也是越来越多人用. 以前很多文章,介绍搭建mysql主从复制架构,是 ...

  4. MySQL 在线开启&关闭GTID模式

    MySQL 在线开启&关闭GTID模式 目录 MySQL 在线开启&关闭GTID模式 基本概述 在线开启GTID 1. 设置GTID校验ENFORCE_GTID_CONSISTENCY ...

  5. 基于GTID模式MySQL主从复制

    基于GTID模式MySQL主从复制 GTID复制原理:基于GTID的复制是MySQL 5.6后新增的复制方式GTID (global transaction identifier) 即全局事务ID, ...

  6. MySQL升级-5.6升级到5.7版本&切换GTID模式

          目前未在生产环境中升级过数据库版本,倒是在测试环境跟开发环境升级过.       可以通过mysqldump sql文件进行升级,也可以通过mysql_upgrade升级,前者耗时较长,且 ...

  7. (转)pt-online-schema-change在线修改表结构

    原文:http://www.ywnds.com/?p=4442 一.背景 MySQL大字段的DDL操作:加减字段.索引.修改字段属性等,在5.1之前都是非常耗时耗力的,特别是会对MySQL服务产生影响 ...

  8. MySQL MHA--故障切换模式(GTID模式和非GTID模式)

    GTID和非GTID故障切换模式选择 MySQL 5.6版本引入GTID来解决主从切换时BINLOG位置点难定位的问题,MHA从0.56版本开始支持基于GTID的复制,在切换时可以采用GTID模式和非 ...

  9. mysql5.7使用gtid模式搭建主从复制架构

    一.架构 两台mysql服务器做一主一从,172.28.18.69(主) 172.28.18.78(从) 二.分别编译安装mysql5.7 1.下载mysql5.7.26源码包 [root@serve ...

随机推荐

  1. 第10步:DBCA创建实例

    注意,创建磁盘组时需要以oracle用户身份执行,在那之前可能需要以root身份执行xhost+,即命令: 代码1 [root@sgdb1~]# xhost+ [root@sgdb1~]# su - ...

  2. JavaScript格式化日期输出

     JavaScript Code  12345678910111213141516171819202122232425262728   <script>     window.onload ...

  3. Python爬虫(四)

    爬取雪球网上的房产信息 源码: import requests import json import pymysql # 建立数据库连接 db = pymysql.connect(host=', po ...

  4. Bellman-Ford算法(有向图)

    #include <iostream> #include <cstring> #include <cstdio> #define MAX 100 #define I ...

  5. 第十三篇:multimap容器和multiset容器中的find操作

    前言 multimap容器是map容器的“ 增强版 ”,它允许一个键对应多个值.对于map容器来说,find函数将会返回第一个键值匹配元素所在处的迭代器.那么对于multimap容器来说,find函数 ...

  6. 【BZOJ3207】花神的嘲讽计划Ⅰ Hash+主席树

    [BZOJ3207]花神的嘲讽计划Ⅰ Description 背景 花神是神,一大癖好就是嘲讽大J,举例如下: “哎你傻不傻的![hqz:大笨J]” “这道题又被J屎过了!!” “J这程序怎么跑这么快 ...

  7. delphi------项目类型

    Console Application:控制台应用程序 writeln('HelloWorld'); //接收用户输入字符 readln: //直到用户输入回车结束 VCL Forms Applica ...

  8. IDEA 录制宏+设置快捷键 实现写时编译

    参考: IDEA 录制宏+设置快捷键 实现写时编译:https://blog.csdn.net/wangjie919/article/details/79487981 IDEA 设置运行时不编译项目: ...

  9. 我的Android进阶之旅------>解决:Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'.

    错误描述 今天在Android Studio项目中加入了jackson的开发包,编译运行时候,引发了如下的错误: Error:Execution failed for task ':app:trans ...

  10. Django的模型层(1)- 单表操作(下)

    一.查询表记录 在学习查询表记录之前,先了解一下QuerySet,这是一种类似列表的数据类型,是由ORM创建的.我们学习查询表记录的方法时,一定要明确哪些方法返回了QuerySet类型,哪些方法返回m ...