GTID和传统模式复制之间的切换

简介:
5.7.6开始可以在线切换

gtid-mode的几种状态说明:
off :不产生gtid,基于binlog+position,slave也不能接受gtid的日志;
off_permissive:不产生gtid,但做为slave可以识别gtid事务也可以识别非gtid事务;
on_permissive: 产生gtid事务 ,slave可以处理gtid事务和非gtid事务;
on: 产生gtid事务 ,slave只接受gtid事务。


传统--->GTID

1.所有的Server执行
set @@global.enforce_gtid_consistency = warn;
特别注意: 这一步是关建的一步使用不能出现警告。

2.所有的server上执行
set @@global.enforce_gtid_consistency = on;

3.所有的Server上执行(要执行完)
set @@global.gtid_mode = off_permissive;
set @@global.gtid_mode=on_permissive; #产生gtid的日志,这个步骤号称是不关心任何节点,但从 管理上推荐在slave上先执行,然后再去master上执行

4.传统的binlog复制完成确认
show status like 'ongoing_anonymous_transaction_count';
需要所有的节点都确认为0.
所有的节点也可以执行一下: flush logs; 用于切换一下日志。

5. 所有的节点启用gtid_mode
set @@global.gtid_mode=on;

6.配置文件修改
gtid_mode=on
enforce_gtid_consistency=on

7.启用gtid的自动查找节点复制
stop slave for channel 'master-3306101';
change master to master_auto_position=1 for channel 'master-3306101';
start slave for channel 'master-3306101'




GTID--->传统
就是上面的反向过程
1.停止复制
stop slave for channel 'master-3306101';
show slave status\G;查看 Exec_Master_Log_Pos 的位置
change master to master_host='10.20.30.101',master_user='repl',master_password='repl4slave',master_port=3306, master_auto_position=0,master_log_file='mysql-bin.000008',master_log_pos=83942 for channel 'master-3306101';
start slave for channel 'master-3306101'

2.主库先更改日志格式,然后从库更改
set @@global.gtid_mode=on_permissive;
set @@global.gtid_mode=off_permissive;

3.
select @@global.gtid_owned;
要为空才正常

4.动态修改参数
set @@global.gtid_mode=off;
set @@global.enforce_gtid_consistency = off;

5.my.cnf修改











相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
11月前
|
程序员
同步模式之犹豫模式Balking
同步模式之犹豫模式Balking是一种多线程编程中的同步模式。在该模式中,线程在执行操作之前会先检查某些条件,如果发现在执行操作之前会导致某些不良后果,则该线程会放弃执行该操作,避免出现问题。
76 0
同步模式之犹豫模式Balking
|
数据库
多主复制的适用场景(2)-需离线操作的客户端和协作编辑
3.1.2 需离线操作的客户端 应用在断网后仍需继续工作。 如手机、PC和其他设备上的日历应用。无论设备当前是否连网,都需随时查看
57 0
|
关系型数据库 MySQL 数据库
多主复制下处理写冲突(4)-多主复制拓扑
复制的拓扑结构描述了写请求从一个节点传播到另一个节点的通信路径。若有两个主节点,如图-7,只有一个合理拓扑结构:M1必须把他所有的写同步到M2,反之亦然。当有两个以上M,各种不同拓扑都可能的。如图-8说明了一些例子。
89 0
多主复制下处理写冲突(4)-多主复制拓扑
|
算法 开发工具 git
多主复制下处理写冲突(3)-收敛至一致的状态及自定义冲突解决逻辑
主从复制模型的数据更新符合顺序性原则:若同一字段有多个更新,则最后一个写操作决定该字段的终值。
86 0
|
SQL 关系型数据库 MySQL
一个不规范操作导致MySQL主从同步中断(GTID模式)
一个不规范操作导致MySQL主从同步中断(GTID模式)
581 0
一个不规范操作导致MySQL主从同步中断(GTID模式)
|
SQL 关系型数据库 MySQL
GTID的复制的搭建过程
1.什么是GTID? GTID(Global Transaction ID)是对于一个已提交事务的编号,并且是一个全局唯一的编号; GTID实际上是由UUID+TID组成的。其中UUID是一个MySQL实例的唯一标识。
1050 0
|
关系型数据库 Perl
判断GTID复制中主从是否同步脚本
判断GTID复制中从库有没有与主库同步 show slave stautus\G中: 当Retrieved_Gtid_Set = Executed_Gtid_Set 表示从库已经和主库完成同步 #!/bin/bash Exec_num=$(mysql -uroot -p14...
852 0
|
运维 关系型数据库 MySQL
Mysql 5.7 Gtid内部学习(八) Gtid带来的运维改变
简书地址: http://www.jianshu.com/p/caae9a019dbd
1936 0