mysql在线主从复制_mysql5.7主从复制--在线变更复制类型【转】

本文介绍了如何在线变更MySQL5.7的主从复制类型,从基于日志复制转换为基于全局事务复制,反之亦然。详细步骤包括设置相关参数、检查状态、持久化配置等,确保在不中断服务的情况下进行安全切换。
摘要由CSDN通过智能技术生成

这里说一下关于如何在线变更复制类型(日志复制到全局事物复制),参考课程: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

(主服务器和从服务器上分别执行以下命令,前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;

查看

313c9ddb444d60353ac616ceaed7d3d1.png

547295a4ab686d38821abc455243991f.png

(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

这个其实就是和从事物到日志复制的一个反向操作

转自

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值