mysql5.7主从复制--在线变更复制类型【转】
这里说一下关于如何在线变更复制类型(日志复制到全局事物复制),参考课程:mysql5.7复制实战
先决条件
(1)集群中所有的服务器版本均高于5.7.6
(2)集群中所有的服务器gtid_mode都设置为off(使用 show variables like 'gtid_mode' 命令查看)
1:将基于日志的复制变更为基于事物的复制处理步骤
(1) 设置参数
gtid_mode在5.7版本有一下4个值
off:关闭
off_permissive:准备关闭
on_permissive:准备开启
on:开启
这4个值只能从off-->off_permissive-->on_permissive-->on或者(off<--off_permissive<--on_permissive<--on)的顺序设置
(主服务器和从服务器上分别执行以下命令,前2条命令按顺序分别指向,而不是在一台服务器上一次性事项所有命令)
set @@global.enforce_gtid_consistency=warn; //强制设置gtid一致性,值为:warn,设置完后建议用tail -f命令查看一下mysql-error.log是否有异常信息
set @@global.enforce_gtid_consistency=on; //强制设置gtid一致性,值为:on
set @@global.gtid_mode=off_permissive; //设置gtid_mode为准备关闭状态
set @@global.gtid_mode=on_permissive;
//设置gtid_mode为准备开启状态
(2) 在从服务器上查看状态
show status like 'ongoing_anonymous_transaction_count'; //查看基于日志的复制的事物数量,为0或者为空表示正常。这一步是为了保证基于日志复制的数据的一致性,防止有事物在主
//服务器上执行完成,在从服务器上没有被执行,导致数据丢失
set @@global.gtid_mode=on; //设置gtid_mode为开启状态
在从服务器上
停止slave;
stop slave;
change master to master_auto_position=1; (改变复制方式)
start slave;
查看
(3)持久配置(重要操作)
确认成功切换到基于事物的复制之后,需要将一下2个参数添加到my.cnf中(所有的mysql服务器节点)
保证在下次重启mysql服务器的时候会自动的启动全局事物复制的方式进行主从同步
enforce_gtid_consistency=on
gtid_mode=on
这一步非常重要,千万不要忘记了。不然下次启动mysql你就会发现主从同步跪了。
2: 将基于事物复制变更为基于日志的复制
应用场景(由于工具或接入的第三方应用不支持事物的复制,则要改为基于日志的复制)
先决条件
(1)集群中所有的服务器版本均高于5.7.6
(2)集群中所有的服务器gtid_mode都设置为on(使用 show variables like 'gtid_mode' 命令查看)
步骤:
(1)
stop slave;
change master to master_auto_position=0,master_log_file='file',master_log_pos=; //停止事物复制,设置日志复制的日志文件和日志文件节点
start slave;
(2)
set @@global.gtid_mode=on_permissive; //设置gtid_mode为准备开启状态
set @@global.gtid_mode=off_permissive;
//设置gtid_mode为准备关闭状态
查看gtid_ownend是否为空字符串(在所有服务器上均要查看)
sellect @@global.gtid_owned;
set @@global.gtid_mode=off; //关闭
(3)
持久配置(重要操作)修改my.cnf中(所有的mysql服务器节点)
enforce_gtid_consistency=off
gtid_mode=off
这个其实就是和从事物到日志复制的一个反向操作
更多资料相关Mysql GTID 模式详解 mysql5.6新特性GTID基本原理 MySQL
5.6 全局事务 ID(GTID)兑现原理(一)
转自
mysql5.7主从复制--在线变更复制类型 - CSDN博客 http://blog.csdn.net/u014739462/article/details/70183458
mysql 5.7 gtid复制到传统复制在线切换 - zengxuewen2045的博客 - CSDN博客 http://blog.csdn.net/zengxuewen2045/article/details/52464390
mysql5.7主从复制--在线变更复制类型【转】的更多相关文章
- MySQL5.6主从复制最佳实践
MySQL5.6 主从复制的配置 环境 操作系统:CentOS-6.6-x86_64 MySQL 版本:mysql-5.6.26.tar.gz 主节点 IP:192.168.31.57 ...
- MySQL5.7 GTID在线开启与关闭【转】
当前场景 当前某些业务还有未开启GTID服务组,升级5.7后,如何检测是否符合开启GTID条件,如何在线修改切换使用GTID:已经升级5.7后,已经开启GTID,如何快速回滚后退: 线上gtid如 ...
- MySQL5.6主从复制搭建基于日志(binlog)
什么是MySQL主从复制 简单来说,就是保证主SQL(Master)和从SQL(Slave)的数据是一致性的,向Master插入数据后,Slave会自动从Master把修改的数据同步过来(有一定的延迟 ...
- redis系列--主从复制以及redis复制演进
一.前言 在之前的文章已经详细介绍了redis入门基础已经持久化相关内容包括redis4.0所提供的混合持久化. 通过持久化功能,Redis保证了即使在服务器宕机情况下数据的丢失非常少.但是如果这台服 ...
- mysql主从复制跳过复制错误【转】
跳过复制错误 mysql因为binlog机制问题,有些时候会出现从库重放sql执行失败的情况,特别是旧的STATEMENT模式最容易出现这种情况(因为函数和存储过程等原因),这也是为什么强调使用mix ...
- MySQL(mariadb)主从复制模式与复制过滤
在前一篇文章<mysql多实例与复制应用>中只对mysql的复制做了简单的介绍,本篇内容专门介绍一下mysql的复制. MySQL复制 mysql复制是指将主数据库的DDL和DML操作通过 ...
- MySQL5.6主从复制方案
MySQL5.6主从复制方案 1.主备服务器操作 环境:CentOS 6.3/6.4 最小化缺省安装,配置好网卡. 安装MySQL前,确认Internet连接正常,以便下载安装文件. # 新增用户组 ...
- MySQL 5.7在线设置复制过滤
很久没有更新博客了,主要是公司事情比较多,最近终于闲下来了.然而5.7也GA了,有许多新的特性,其中现在可以进行在线设置复制过滤了.但是还是得停复制,不过不用重启实例了.方便了DBA们进行临时性的调整 ...
- mysql5.7 主从复制的正常切换【转】
目前环境如下: master server IP:172.17.61.131 slave server IP:172.17.61.132 mysql version: mysql-5.7.21-lin ...
随机推荐
- 初学Hadoop之单机模式环境搭建
本文仅作为学习笔记,供大家初学Hadoop时学习参考.初学Hadoop,欢迎有经验的朋友进行指导与交流! 1.安装CentOS7 准备 CentOS系统镜像CentOS-7.0-1406-x86_64 ...
- 模拟事件【JavaScript高级程序设计第三版】
事件,就是网页中某个特别值得关注的瞬间.事件经常由用户操作或通过其他浏览器功能来触发.但很少有人知道,也可以使用JavaScript 在任意时刻来触发特定的事件,而此时的事件就如同浏览器创建的事件一样 ...
- CF 1070J Streets and Avenues in Berhattan
DP的数组f其实开得不够大,应该开200000,但是它在cf上就是过了... 题意是把一堆字母分别分配到行和列. 分析一下,答案实际上只和n行中和m列中每种字母分配的个数有关.而且答案只和" ...
- Codeforces 1097 G. Vladislav and a Great Legend
题目链接 一道好题. 题意:给定一棵\(n\)个点的树,求: \[\sum_{S\subseteq \{1,2,\dots,n\}}f(S)^k\] 其中\(f(S)\)代表用树边将点集\(S\)连通 ...
- 【设计模式】—— 状态模式State
前言:[模式总览]——————————by xingoo 模式意图 允许一个对象在内部改变它的状态,并根据不同的状态有不同的操作行为. 例如,水在固体.液体.气体是三种状态,但是展现在我们面前的确实不 ...
- std::string 字符串切割
在很多字符串类库里都实现了split函数.不过在std里没有实现.在这里拿出几个: 1. 用单字符作为分隔 #include <string> #include <vector> ...
- oracle12c ORA-28040: No matching authentication protocol
出错原因:11G客户端连12C数据库服务端会报这个错 解决方案一:CSDN优质解决方案,大家都说可以,然而我这边操作了不行 转自13楼:http://bbs.csdn.net/topics/39066 ...
- 【题解】 [SCOI2011]糖果 (差分约束)
懒得复制,戳我戳我 Solution: 首先考虑\(X=1\)的情况,我们其实只用用一下并查集把相等的点合为一个点 然后后面的四个式子我们就可以用差分约束了,就拿\(X=2\)的情况来说吧,我们用\( ...
- HGOI20180813 (NOIP2018 提高组 Day2 模拟试题)
省常中省选提高Day2 继续 第一题就考了贪心,正解95pts的贪心策略第一印象是想到的,但是被自己否定掉了qwq,然后打了 不是正解的贪心,样例5没过(可怜)思路如下:先找出每个门对应可以通过的人数 ...
- centos 7使用docker安装lnmp和redis环境
#================Docker基础操作========================== #启动docker服务service docker start#搜索可用docker镜像#h ...