GTID复制之二
在线启用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'];2.在每个Server上:
CHANGE MASTER TO MASTER_AUTO_POSITION = 0, MASTER_LOG_FILE = file, \
MASTER_LOG_POS = position [FOR CHANNEL 'channel'];
START SLAVE [FOR CHANNEL 'channel'];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复制之二的更多相关文章
- MySQL 5.7基于GTID复制的常见问题和修复步骤(二)
[问题二] 有一个集群(MySQL5.7.23)切换后复制slave报1236,其实是不小心在slave上执行了事务导致 Got fatal error 1236 from master when r ...
- 深入MySQL复制(二):基于GTID复制
相比传统的MySQL复制,gtid复制无论是配置还是维护都要轻松的多.本文对gtid复制稍作介绍. MySQL基于GTID复制官方手册:https://dev.mysql.com/doc/refman ...
- MariaDB的GTID复制和多源复制
什么是GTID? GTID就是全局事务ID(global transaction identifier ),最初由google实现,官方MySQL在5.6才加入该功能.GTID实际上是由UUID+TI ...
- MariaDB GTID 复制同步
MariaDB GTID 复制同步 GTID:Global Transaction ID,全局事务ID,在整个主从复制架构中任何两个事物ID是不能相同的.全局事务ID是Mster服务器生成一个128位 ...
- mysql之 MySQL 主从基于 GTID 复制原理概述
一. 什么是GTID ( Global transaction identifiers ):MySQL-5.6.2开始支持,MySQL-5.6.10后完善,GTID 分成两部分,一部分是服务的UUid ...
- MySQL的GTID复制与传统复制的相互转换
主库:192.168.225.128:3307从库1:192.168.225.129:3307 Gtid作为5.6版本以来的杀手级特性,却因为不支持拓扑结构内开关而饱受诟病.如果你需要从未开启GTID ...
- MySQL5.7 的GTID复制
MySQL5.7 的GTID复制 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在MySQL5.6之后其官方推出了GTID复制方式,和传统的基于bin log复制方式有所不同,接 ...
- Mysql基于GTID复制模式-运维小结 (完整篇)
先来看mysql5.6主从同步操作时遇到的一个报错:mysql> change master to master_host='192.168.10.59',master_user='repli' ...
- MHA-手动Failover流程(传统复制>ID复制)
本文仅梳理手动Failover流程.MHA的介绍详见:MySQL高可用架构之MHA 一.基本环境 1.1.复制结构 VMware10.0+CentOS6.9+MySQL5.7.21 ROLE HOST ...
随机推荐
- Android 如何实现带滚动条的TextView,在更新文字时自动滚动到最后一行?
1.在布局文件中放置一个TextView,给它添加scrollbars和fadeScrollbars两个属性. 如下设置:滚动条为垂直滚动条,并且一直可见(当TextView中的文字行数超过页面能显示 ...
- 【亲述】Uber容错设计与多机房容灾方案 - 高可用架构系列
此文是根据赵磊在[QCON高可用架构群]中的分享内容整理而成.转载请事先联系赵磊及相关编辑. 赵磊,Uber高级工程师,08年上海交通大学毕业,曾就职于微软,后加入Facebook主要负责Messen ...
- C#GDI+基础(三)画刷详解
SolidBrush:一般的画刷,通常只用一种颜色去填充GDI+图形 创建一般画刷: SolidBrush sbBrush1 = new SolidBrush(Color.Green); HatchB ...
- tomcat JNDI 设置
一.在Spring配置文件中的配置 <bean id="dataSource" class="org.springframework.jndi.JndiObje ...
- Spring mvc 报错:No qualifying bean of type [java.lang.String] found for dependency:
具体错误: No qualifying bean of type [java.lang.String] found for dependency: expected at least 1 bean w ...
- Linux文件读写机制及优化方式
导读 Linux是一个可控性强的,安全高效的操作系统.本文只讨论Linux下文件的读写机制,不涉及不同读取方式如read,fread,cin等的对比,这些读取方式本质上都是调用系统api read,只 ...
- NOIP“对偶”题:还教室
先说一下思路: 方差可以经过恒等变形变成 x12 + x22 + ... + xn2 + 2a(x1 + x2 + ... + xn) + na2 所以维护平方和.连续和即可 平均数我就不再推了…… ...
- 如何安装PANABIT?
PANABIT可以帮你轻松的封杀360WIFI.二级路由和移动设备,还可以让员工在上班期间禁止浏览与工作无关的网站,禁止看视频,禁止聊QQ,禁止网购......总之一切你能想到的,它都能帮你实现. P ...
- 转: Annovar 软件注释流程介绍
第一步:下载Annovar 上Annovar官网下载(http://annovar.openbioinformatics.org/en/latest/user-guide/download/),现在要 ...
- [ruby on rails] 跟我学之(10)数据输入验证
这里简单加上几个验证,非空,最小长度,唯一 修改模型 修改app/models/post.rb文件,如下: class Post < ActiveRecord::Base #attr_acces ...