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 ...
随机推荐
- JS写的多级联select,如何取值
var $ = function (id) { return "string" == typeof id ? document.getElementById(id) : id ...
- 【亲述】Uber容错设计与多机房容灾方案 - 高可用架构系列
此文是根据赵磊在[QCON高可用架构群]中的分享内容整理而成.转载请事先联系赵磊及相关编辑. 赵磊,Uber高级工程师,08年上海交通大学毕业,曾就职于微软,后加入Facebook主要负责Messen ...
- JVM内存分析工具MAT使用
1. 首先去官网下载MAT软件,路径如下: 点击打开链接 2. 将heap dump文件打开即可分析.
- iOS开发——高级篇——传感器(加速计、摇一摇、计步器)
一.传感器 1.什么是传感器传感器是一种感应\检测周围环境的一种装置, 目前已经广泛应用于智能手机上 传感器的作用用于感应\检测设备周边的信息不同类型的传感器, 检测的信息也不一样 iPhone中的下 ...
- [Asp.net MVC]Asp.net MVC5系列——添加模型
目录 概述 添加模型 总结 系列文章 [Asp.net MVC]Asp.net MVC5系列——第一个项目 [Asp.net MVC]Asp.net MVC5系列——添加视图 概述 在本节中我们将追加 ...
- Unity手游之路<七>角色控制器
Unity手游之路<七>角色控制器 我们要控制角色的移动,可以全部细节都由自己来实现.控制角色模型的移动,同时移动摄影机,改变视角.当然Unity也提供了一些组件,可以让我们做更少的工作, ...
- python\c交互学习网站手机
http://use-python.readthedocs.org/zh_CN/latest/interact_with_other_language.html https://www.zhihu.c ...
- iOS 容器 addChildViewController
//在parent view controller 中添加 child view controller FirstViewController *firstViewController=[[First ...
- [转载]localhost与127.0.0.1的区别
原文链接:http://blog.csdn.net/xifeijian/article/details/12879395 很多人会接触到这个ip地址127.0.0.1.也许你会问127.0.0.1是什 ...
- GMM简单解释
1.GMM(guassian mixture model) 混合高斯模型,顾名思义,就是用多个带有权重的高斯密度函数来描述数据的分布情况.理论上来说,高斯分量越多,极值点越多,混合高斯密度函数可以逼近 ...