首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MySQL 在线开启关闭GTID

一 前言 MySQL DBA大都熟悉 MySQL 5.6版本开始提供基于 GTID模式的主从复制,该特性简化复制和降低主从复制维护的难度,提高复制的可运维性,不再依赖binlog文件名和文件的位置。...但是它有很多限制,5.7版本MySQL支持对GTID做了如下改进: a 不需要重启MySQL服务器. b 配置过程在线,整个复制集群仍然对外提供读和写的服务. c 不需要改变复制拓扑结构. d 可以在任何结构的复制集群在线启用...2.5 在主从复制结构中所有的实例执行: set global GTID_MODE = ON; 该参数的功能是让系统产生GTID ,Slave只能接受带GTID的事务。...还没呢,记得修改my.cnf 添加 gtid_mode = on enforce_gtid_consistency = on 三 在线关闭GTID 关闭GTID的步骤其实和开启的步骤相反: 3.1 关闭...; 3.8 删除或者注释my.cnfGTID相关参数。

9.5K21

MySQLGTID

MySQL-5.6.2开始支持,MySQL-5.6.10后完善,GTID 分成两部分,一部分是服务的UUid,UUID保存在mysql数据目录的auto.cnf文件, 这是一个非常重要的文件,不能删除...2、slave端的i/o 线程将变更的binlog,写入到本地的relay log。 3、sql线程从relay log获取GTID,然后对比slave端的binlog是否有记录。...4、如果有记录,说明该GTID的事务已经执行,slave会忽略。 5、如果没有记录,slave就会从relay log执行该GTID的事务,并记录到binlog。...03 GTID的优缺点 优点: 1.一个事务对应一个唯一GTID,一个GTID在一个服务器上只会执行一次 2.GTID是用来代替传统复制的方法GTID复制与普通复制模式的最大不同就是不需要指定二进制文件名和位置...*/; (6)我们可以看到GTID_NEXT的值是 ,然后我们通过下面的方法来重新恢复主从复制: mysql> stop slave; Query OK, rows affected (0.00 sec

1.1K41
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    深入理解MySQL 5.7 GTID系列(四):mysql.gtid_executed&PREVIOUS GTID EVENT

    作者:高鹏(重庆八怪) 原文地址: https://www.jianshu.com/p/1f4f9c07ce0b 深入理解MySQL 5.7 GTID系列文章共十篇,本文为第四篇, 第一篇:深入理解MySQL...5.7 GTID系列(一) 第二篇:深入理解MySQL 5.7 GTID系列(二):GTID相关内部数据结构 第三篇:深入理解MySQL 5.7 GTID系列(三):GTID的生成时机 该系列文章将陆续不定期更新...~ 之所以把MySQL.GTID_EXECUTED表的作用和PREVIOUS GTID EVENT的改变放到一起进行描述是因为它们后面文章探讨的基础。...自然这种情况下我们需要另外的一种GTID持久化介质,而并不是BINLOGGTID EVENT。为了解决这个问题,5.7GTID_EXECUTED表应运而生了。...Trx end*/ Gno:0 我们清晰的看到这里包含了PREVIOUS GTID EVENT,当然我们还发现了ANONYMOUS GTID EVENT这也是5.7变化,5.7即使不开始GTID

    72210

    MySQL5.7配置基于GTID的复制及GTID回退到传统模式的方法

    MySQL5.7下配置GTID复制的方法: 环境: CentOS6.8X86_64 MySQL Community 5.7.17 node1:192.168.2.171 主库 node2:192.168.2.172...从库 修改主库和从库的配置文件,加入红色部分的配置项: 主库: [mysqld] log-bin=mysql-bin binlog_format= ROW gtid-mode = ON enforce_gtid_consistency...GTID复制转成传统模式的方法: 如果之前启用过了GTID,那么就不能不能再使用传统的change master to的方式了,会报错,如下: ERROR 1776 (HY000): Parameters...要转换成传统模式,需要在my.cnf里面注释掉下面2行: gtid-mode=ON enforce_gtid_consistency = ON 然后重启MySQL。...> change master to MASTER_AUTO_POSITION=0;      # 设置为0关闭这个选项,这个选项是GTID复制才用到的。

    74340

    关于 MySQL GTID 复制

    ,基于全局事务的复制方式,由server_uuid:transaction_id组成,server_uuid在数据库启动过程生成,在/data/auto.cnf 复制过程:master事务提交时GTID.../my.cnf [mysqld] datadir=/usr/local/mysql/data log_bin=mysql-bin server_id=1 gtid_mode=on enforce_gtid_consistency...> 然后将之前异步复制的配置去掉,重新配置slave主库信息即可 mysql> show variables like '%log_slave_updates%'; +----------------...> 将slavelog_slave_updates关掉,就能看到mysql.gtid_executed表记录已执行gtid信息了 mysql> select * from mysql.gtid_executed...导致后面insert数据部分被忽略而产生错误; 一个事务既包含InnoDB表又包含MyISAM表会导致可能产生多个gtid,或者表在主从库存储引擎不一致都会产生gtid复制异常

    40220

    MySQL 5.7配置GTID主从

    GTID 和事务会记录到 binlog ,用来标识事务。 GTID 是用来替代以前 classic 复制方法MySQL-5.6.2 开始支持 GTID,在 MySQL-5.6.10 后完善。...(3) sql 线程从 relay log 获取 GTID,然后对比 slave 端的 binlog 是否有该 GTID。...(1) 不允许在一个 SQL 同时更新一个事务引擎和非事务引擎的表; 事务混合多个存储引擎,就会产生多个 GTID。...(4) 在一个复制组,必须要求统一开启 GTID 或是关闭 GTID; (5) 开启 GTID 需要重启(5.6 需要,5.7 不需要) (6) 开启 GTID 后,就不能在使用原来的传统的复制方式...(8) 不推荐在 GTID 模式的实例上进行 mysql_upgrade; 因为 mysql_upgrade 的过程要创建或修改系统表(非事务引擎),所以不建议在开启 GTID 的模式的实例上使用带有-

    92210

    mysql gtid深入_深入理解MySQL启动初始化GTID模块

    一、参数描述 MySQL不同的版本优化器会有很多新特性,比如MRR、BKA等,其中optimizer_switch这个参数就是控制查询优化器怎样使用这些特性。...image.png 前段时间客户的环境遇到一个奇怪的问题,select count(*)显示返回是有数据,但select * 返回是空结果集,最终的原因就是因为optimizer_switch设置引起了一个让我们难以察觉的...二、案例分析 2.1 环境描述 数据库版本MySQL5.6.35 2.2 SQL语句 image.png 2.3 分析过程 凌晨4点左右客户打来电话告知数据库查询不到数据,显得非常着急,刻不容缓...,我们第一时间赶到了现场,当时的现象是这样的: image.png 这条语句查询返回的结果集是空,但是开发人员和我们说数据库是有数据的,我抱着怀疑的态度尝试着执行了一下: image.png

    2.3K61

    MySQLGTID的几个限制和解决方案

    比如MySQL GTID在5.6试水,5.7已经发展完善,但是还是有一些场景是受限的。比如下面的两个。...GTIDcreate 语句限制的解法 create table xxx as select的语句,其实会被拆分为两部分,create语句和insert语句,但是如果想一次搞定,MySQL会抛出如下的错误...mysql> create table test_new as select *from test; ERROR 1786 (HY000): Statement violates GTID consistency...我们也巧学巧用,看看MySQL有什么特别的方法来处理。 除了规规矩矩的拼出建表语句之外,还有一个方法MySQL特有的用法 like。...而在GTID,已经做了这个检查,归根结底,还是cache里面的机制,大体来说,binlog有两个cache来缓存事务的binlog: binlog_cache_data stmt_cache;

    3.7K60

    MySQL GTID 错误处理汇总

    MySQL GTID是在传统的mysql主从复制的基础之上演化而来的产物,即通过UUID加上事务ID的方式来确保每一个事物的唯一性。...一、GTID的相关特性 配置MySQL GTID 主从复制 基于mysqldump搭建gtid主从 二、GTID如何跳过事务冲突 很多无法预料的情形导致mysql主从发生事务冲突,主从失败或停止的情形...,即需要修复主从 对于GTID方式的主从架构而言,更多的是处理事务冲突来修复主从 GTID不支持通过传统设置sql_slave_skip_counter方法来跳过事务 方法:通过注入空事务来填补事务空洞...8cfb-11e6-ba9f-000c29328504:1-2 -- 通过mysqlbinlog在主服务器上寻找报错的binglog日志文件及位置,找到对应的SQL语句,如下所示 -- update的...--如下查看,已经存在被执行的gtid,即gtid_executed肯定是不为空,且这些gtid记录在从库的binary log (root@Slave)[tempdb]>show global variables

    2.6K20
    领券