浅析mysql主从复制中的gtid
发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,gtid(Global Transaction ID)是对于一个已提交事务的编号,并且是一个全局唯一的编号。它的官方定义如下:gtid= source_id :transaction_id每一个 gt
千家信息网最后更新 2025年02月02日浅析mysql主从复制中的gtid
gtid(Global Transaction ID)是对于一个已提交事务的编号,并且是一个全局唯一的编号。它的官方定义如下:
gtid= source_id :transaction_id
每一个 gtid代表一个数据库事务。在上面的定义中,source_id 表示执行事务的主库 uuid(server_uuid),transaction_id 是一个从 1 开始的自增计数,表示在这个主库上执行的第 n 个事务。MySQL 只要保证每台数据库的 server_uuid 全局唯一,以及每台数据库生成的 transaction_id 自身唯一,就能保证 gtid 的全局唯一性。
在开启gtid的主从复制的环境下,在slave上执行show slave status\G 可以看到下述信息:
mysql> show slave status\G*************************** 1. row *************************** Slave_IO_State: Waiting for master to send event... Slave_IO_Running: Yes Slave_SQL_Running: Yes... Retrieved_Gtid_Set: b5e3d908-fa6d-11e7-b931-06f990000100:1-3 Executed_Gtid_Set: b5e3d908-fa6d-11e7-b931-06f990000100:1-3 Auto_Position: 11 row in set (0.00 sec)
Retrieved_Gtid_Set 表示slave从master接受的gtid set,使用 reset slave 命令可以清空此项;
Executed_Gtid_Set 表示slave已执行的gtid set,使用 reset master 命令可以清空此项。
Retrieved_Gtid_Set 和 Executed_Gtid_Set 必须为master 上 gtid set 的子集,否则会报以下错误:
mysql> show slave status\G*************************** 1. row ***************************... Last_IO_Error: Got fatal error 1236 from master when reading data from binary log: 'Slave has more GTIDs than the master has, using the master's SERVER_UUID. This may indicate that the end of the binary log was truncated or that the last binary log file was lost, e.g., after a power or disk failure when sync_binlog != 1. The master may or may not have rolled back transactions that were already replica'...1 row in set (0.00 sec)
slave 停掉后再次启动时,会进行以下操作:
1.读取master上的gtid set(假设为set A)
2.将set A和自身的 Retrieved_Gtid_Set(假设为set B) 对比,执行 A-B 部分的事务以保持和master的同步。
这里本来是要贴上验证的操作的,但51cto博客的表格展示很不友好,所以验证的工作就交给大家啦~^o^
事务
全局
数据
数据库
命令
保证
验证
主从
代表
信息
再次
博客
唯一性
子集
官方
环境
表格
部分
错误
面的
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
成都网络安全学院招生
数据库查列数
焦作融信网络技术有限公司
数据库管理与应用刘先锋
连接数据库失败 26
软件开发沟通制度
服务器的管理口L口
爱购物软件开发
护航东博会网络安全
python实用网络技术
移动终端与服务器有什么区别
常熟电力监控软件开发
光大科技软件开发面试
数据库备份技术有哪些
长春股票软件开发公司
许昌服务器dns是多少
东明软件开发
具发展潜力的服务器性能监控
theisle生态服务器推荐
软件开发毛利率怎么算
网络安全网络不是不法之地
软件开发行业材料费包括什么
用友不装数据库能用吗
安徽web前端软件开发哪家正规
网络安全周客户需求
光遇22号服务器更新到几点
创建数据库id类型
软件开发专业技校排行
scp基金会K级事件数据库
怎么下载世界银行数据库中的数据