MySQL主从复制的两种同步方式:传统方式和GTID方式详解
创作时间:
作者:
@小白创作中心
MySQL主从复制的两种同步方式:传统方式和GTID方式详解
引用
1
来源
1.
https://www.hikunpeng.ru/document/detail/zh/kunpengdbs/ecosystemEnable/MySQL/kunpengmysqlmasterslave_03_0008.html
MySQL主从复制是数据库高可用性和容灾方案中的关键技术。本文将详细介绍MySQL主从复制的两种同步方式:传统方式和GTID方式,并重点阐述GTID的工作原理和优势。
MySQL主从复制有两种同步方式:传统方式和GTID方式,主库和从库同步方式保持一致。
- 传统方式:从库通过获取主库的binlog信息(binlog文件名和binlog中的位置)进行复制,默认采用此方式进行复制。
图1传统复制架构
- GTID方式:MySQL版本在5.7及以上时推荐使用GTID方式。MySQL为每个事务提供一个GTID(全局事务标识,全局唯一),GTID唯一性不限于主库,在整个主从集群环境中也是唯一的。GTID由source_id和transaction_id两部分组成(例如图2中的UUID:33、UUID:34和UUID:35)。其中source_id是产生GTID服务器的UUID,保存在DARADIR/auto.cnf文件里,transaction_id是sequence_number,是每台服务器从1开始自增的顺序号。每次事务提交后会自动生成GTID,主库在当前已执行的GTID集合(即gtid_executed)中找一个大于0的且未使用的最小值作为下个事务的GTID。 从库在relay log中读取到主库的GTID,而后执行的事务采用该GTID。
图2GTID复制架构
GTID的复制流程:
- 主库在事务ID前面添加GTID生成新的事务ID,然后更新数据,并把新的事务ID和数据操作记录到binlog,通过dump线程通知从库有数据更新。
- 从库通过IO线程获取主库的binlog,把binlog写入relay log。
- 从库通过SQL线程在relay log中读取GTID,然后在从库binlog中查看是否有该GTID的记录,如果有记录说明该GTID的事务已经执行,从库不执行该GTID的事务,如果没有记录从库执行该GTID的事务,并把该GTID的事务和更新操作记录到binlog。
图3GTID复制流程
适用场景
GTID复制已经是MySQL复制使用的一种通用复制方式,GTID的优势在于自动查找断点信息进行复制,不需要人为的查找binlog和pos点,更易于维护和管理。
热门推荐
多轮对话中让AI保持长期记忆的8种优化方式(附案例和代码)
太多人忽略了缺牙对身体的影响,原来这些身体问题和牙齿息息相关
缺牙对身体会有哪些不良影响?了解缺牙修复的必要性
奇门遁甲中的阴阳五行理论
如何制定每周工作计划
GB 4806.1-2016:陶瓷食品接触材料的性能指标与使用条件详解
客户异议处理不当的场景模拟怎么做?
销售管理如何实现客户关系深化?
幼儿园教育和小学教育的区别是什么
柔光屏和标准屏哪个好?
如何有效引导学校中好动孩子的行为和情绪
Mac系统办公真的不如Windows系统好吗?
Mac电脑与Windows电脑(探索两种操作系统的不同特点和适用场景)
质量管理系统如何提升跨部门协作效率?
项目经理如何提升项目质量
穴位按摩秘籍:焕活肌肤光彩,重塑无瑕美肌
硬盘怎么备份手机照片
如何设置服务器以防止刷怪行为?
哲学家大卫·本特利·哈特的著作《万物皆有神明》简介
洛阳旅游攻略:五大景点深度游
饭后4个坏习惯伤胃!胃反酸、烧心困扰不断,3招教你轻松缓解
脂肪肝6大原因及改善办法!
如何撰写高效的部门合作备忘录?【深度解析】
图说超线程技术(Hyper-Threading Technology)
影响微量粘度计测定结果的因素有什么?
脉搏跳动的节奏:66次/分钟是否正常?
为何高能量人群总是魅力四射?
Excel筛选和分类汇总功能使用指南
梅龙高铁探营:预计9月底具备开通条件 兴宁南站造型如“花灯”
优良的蔬菜种子有何标准,应具备纯、壮、良的优点