深入理解MySQL 5.7 GTID系列(一)

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: MySQL GTID特性是5.6加入的一个强大的特性,它的目的在于使用GTID的MySQL能够在整个复制环境中能够自动地切换,而不像以前需要指定文件和位置,这也一定是未来发展的方向,我们熟知的MGR也是基于GTID的,所以了解GTID的原理也是必要的。

MySQL GTID特性是5.6加入的一个强大的特性,它的目的在于使用GTID的MySQL能够在整个复制环境中能够自动地切换,而不像以前需要指定文件和位置,这也一定是未来发展的方向,我们熟知的MGR也是基于GTID的,所以了解GTID的原理也是必要的。

GTID的维护是完全自动的,但是实际使用上确实有较多的坑,也导致很多朋友对GTID还是觉得畏惧,本系列文章将从GTID模块的源码出发分析,并且给出总结,然后结合运维和案例进行综合的解析,我希望抛砖引玉让希望了解源码的朋友也有所收获,但是能力有限特别是源码部分如果有错误请指出,并且能够一起交流,如果有朋友有更好的案例也欢迎一起探讨。
当然留下这么一个系列也有自己的原因,好记性不如烂笔头嘛,因此也当自己的一个笔记了。

一、GTID事务的生命周期

GTID的全称为global transaction identifier,他在整个复制生态中完全唯一的,下面我们通过一个图来解释它的整个生命周期,假设我们这里有一个master->slave->slave的复制环境,生成了一个GTID为89dfa8a4-cb13-11e6-b504-000c29a879a3:1的GTID事务,因为名字太长我简化为879a3:1如图

db2ca6b70192bb547e4a5505fcb7fc308163cc01

我们可以看到在整个生命周期中整个事务的GTID号是没有改变的,不管在主库还是从库它都是89dfa8a4-cb13-11e6-b504-000c29a879a3:1,这也是为什么叫做全局的原因。

二、本系列文章包含了哪些内容

本系列文章一共分为十节:

  • 深入理解MySQL 5.7 GTID系列(一):导读
  • 深入理解MySQL 5.7 GTID系列(二): GTID相关内部数据结构
  • 深入理解MySQL 5.7 GTID系列(三) :GTID和Last_commt/sequnce_number的生成时机
  • 深入理解MySQL 5.7 GTID系列(四) :MySQL.GTID_executed表的作用和Previous GTID Event的改变
  • 深入理解MySQL 5.7 GTID系列(五) :MySQL.GTID_executed表/GTID_executed变量/GTID_purged变量的更改时机
  • 深入理解MySQL 5.7 GTID系列(六) :MySQL启动初始化GTID模块
  • MySQL 5.7 GTID内部学习(七) 总结binlog_GTID_simple_recovery参数带来的影响
  • MySQL 5.7 GTID内部学习(八) GTID带来的运维改变
  • MySQL 5.7 GTID内部学习(九) 实际案例(一)
  • MySQL 5.7 GTID内部学习(十) 实际案例(二)

每一节都包含了总结和大量的文字描述,希望对普通的运维DBA有所帮助,同时也希望对想了解源码的DBA也有所引导。

本节只是一个导读,希望能够让大家对GTID有一个基本了解,如果需要继续了解可以看看官方文档。

  • 18.1.3 Replication with Global Transaction Identifiers

原文发布时间为:2018-01-06
本文作者:高鹏(重庆八怪)
本文来自云栖社区合作伙伴“ 老叶茶馆”,了解相关信息可以关注“ 老叶茶馆”微信公众号
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
4月前
|
SQL 关系型数据库 MySQL
【揭秘】MySQL binlog日志与GTID:如何让数据库备份恢复变得轻松简单?
【8月更文挑战第22天】MySQL的binlog日志记录数据变更,用于恢复、复制和点恢复;GTID为每笔事务分配唯一ID,简化复制和恢复流程。开启binlog和GTID后,可通过`mysqldump`进行逻辑备份,包含binlog位置信息,或用`xtrabackup`做物理备份。恢复时,使用`mysql`命令执行备份文件,或通过`innobackupex`恢复物理备份。GTID模式下的主从复制配置更简便。
473 2
|
6月前
|
Prometheus 监控 关系型数据库
数据库同步革命:MySQL GTID模式下主从配置的全面解析
数据库同步革命:MySQL GTID模式下主从配置的全面解析
712 0
|
安全 关系型数据库 MySQL
MySQL的binlog日志和GTID
MySQL的binlog日志和GTID
232 1
|
监控 关系型数据库 MySQL
银河麒麟V10 SP3 X86 二进制文件部署 mysql-5.7.29 GTID 半同步复制的双主架构
银河麒麟V10 SP3 X86 二进制文件部署 mysql-5.7.29 GTID 半同步复制的双主架构
461 1
|
7月前
|
存储 Cloud Native 关系型数据库
云原生|kubernetes|部署MySQL一主多从复制集群(基于GTID的复制)
云原生|kubernetes|部署MySQL一主多从复制集群(基于GTID的复制)
116 0
|
关系型数据库 MySQL
MySQL 5.7 基于GTID主从复制+并行复制+半同步复制
MySQL 5.7 基于GTID主从复制+并行复制+半同步复制
176 0
|
关系型数据库 MySQL
MySQL基于GTID的组复制(MGR)
MySQL基于GTID的组复制(MGR)
66 0
|
关系型数据库 MySQL
MySQL 基于 GTID 的组复制(MGR)
MySQL 基于 GTID 的组复制(MGR)
185 0
|
关系型数据库 MySQL
MySQL 5.7 基于 GTID 主从复制 + 并行复制 + 半同步复制
MySQL 5.7 基于 GTID 主从复制 + 并行复制 + 半同步复制
630 0
|
SQL 关系型数据库 MySQL
一个不规范操作导致MySQL主从同步中断(GTID模式)
一个不规范操作导致MySQL主从同步中断(GTID模式)
713 0
一个不规范操作导致MySQL主从同步中断(GTID模式)