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

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:
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修改











相关实践学习
通过日志服务实现云资源OSS的安全审计
本实验介绍如何通过日志服务实现云资源OSS的安全审计。
目录
相关文章
|
Kubernetes Cloud Native Linux
云原生|kubernetes|kubernetes集群部署神器kubekey的初步使用(centos7下的kubekey使用)
云原生|kubernetes|kubernetes集群部署神器kubekey的初步使用(centos7下的kubekey使用)
578 1
|
Web App开发 缓存 数据库
DMS产品常见问题之DMS数据规定失败如何解决
DMS(数据管理服务,Data Management Service)是阿里云提供的一种数据库管理和维护工具,它支持数据的查询、编辑、分析及安全管控;本汇总集中了DMS产品在实际使用中用户常遇到的问题及其相应的解答,目的是为使用者提供快速参考,帮助他们有效地解决在数据管理过程中所面临的挑战。
|
Kubernetes API 计算机视觉
利用 member update 实现 etcd 灾难恢复 [也可实现 etcd 集群迁移]
利用 member update 实现 etcd 灾难恢复 [也可实现 etcd 集群迁移]
1475 0
|
12月前
|
安全 网络安全 文件存储
思科设备巡检命令Python脚本大集合
【10月更文挑战第18天】
389 1
思科设备巡检命令Python脚本大集合
|
机器学习/深度学习 人工智能
【LangChain系列】第九篇:LLM 应用评估简介及实践
【5月更文挑战第23天】本文探讨了如何评估复杂且精密的语言模型(LLMs)应用。通过创建QA应用程序,如使用GPT-3.5-Turbo模型,然后构建测试数据,包括手动创建和使用LLM生成示例。接着,通过手动评估、调试及LLM辅助评估来衡量性能。手动评估借助langchain.debug工具提供执行细节,而QAEvalChain则利用LLM的语义理解能力进行评分。这些方法有助于优化和提升LLM应用程序的准确性和效率。
847 8
|
存储 Kubernetes 关系型数据库
使用开源ProxySQL构建PolarDB-X标准版高可用路由服务
本文将指导如何快速搭建和配置PolarDB-X标准版与ProxySQL,并提供验证高可用路由服务验证测试。
|
安全 网络虚拟化 网络架构
802.1Q本地VLAN详解:网络架构的基石
【4月更文挑战第22天】
828 0
|
负载均衡 关系型数据库 MySQL
MySQL Router读写节点支持负载均衡策略
`routing_strategy`是MySQL Router配置选项,用于设定数据路由策略。可选值包括:`first-available`, `next-available`, `round-robin`和`round-robin-with-fallback`,分别对应不同的负载均衡和故障转移策略。更多详情参考:<https://dev.mysql.com/doc/mysql-router/8.0/en/mysql-router-conf-options.html#option_mysqlrouter_routing_strategy>。
242 1
|
网络协议 安全 网络性能优化
【网络工程师】<软考中级>传输层协议TCP/UDP&常用应用层协议
【1月更文挑战第27天】【网络工程师】<软考中级>传输层协议TCP/UDP&常用应用层协议
|
SQL 数据可视化 数据库
Python中表格插件Tabulate的用法
Python中表格插件Tabulate的用法
919 0