简介
GTID是MySQL 5.6的新特性,其全称是Global Transaction Identifier,可简化MySQL的主从切换以及Failover。GTID用于在binlog中唯一标识一个事务。当事务提交时,MySQL Server在写binlog的时候,会先写一个特殊的Binlog Event,类型为GTID_Event,指定下一个事务的GTID,然后再写事务的Binlog。主从同步时GTID_Event和事务的Binlog都会传递到从库,从库在执行的时候也是用同样的GTID写binlog,这样主从同步以后,就可通过GTID确定从库同步到的位置了。也就是说,无论是级联情况,还是一主多从情况,都可以通过GTID自动找点儿,而无需像之前那样通过File_name和File_position找点儿了。
GTID的表示
MySQL 5.6使用server_uuid和transaction_id两个共同组成一个GTID。即:GTID = server_uuid:transaction_id
server_uuid是MySQL Server的只读变量,保存在数据目录下的auto.cnf中,可直接通过cat命令查看。MySQL第一次启动时候创建auto.cnf文件,并生成server_uuid(MySQL使用机器网卡,当前时间,随机数等拼接成一个128bit的uuid,可认为在全宇宙都是唯一的,在未来一百年,使用同样的算法生成的uuid是不会冲突的)。之后MySQL再启动时不会重复生成uuid,而是使用auto.cnf中的uuid。也可以通过MySQL客户端使用如下命令查看server_uuid,看到的实际上是server_uuid的十六进制编码,总共16字节(其中uuid中的横线只是为了便于查看,并没有实际意义)。
1 免责声明: ① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。 ② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341 软考中级精品资料免费领
相关文章发现更多好内容猜你喜欢AI推送时光机MySQL 5.6 GTID 原理以及使用数据库2024-04-02 MySQL GTID 主从复制的原理及配置数据库2024-04-02 Gosingleflight使用以及原理数据库2023-01-02 浅谈MySQL触发器的原理以及使用数据库2023-05-20 【MySQL】order by 原理以及优化数据库2024-04-02 RabbitMQ原理以及使用场景是什么数据库2024-04-02 MySQL主备操作以及原理详解数据库2023-04-30 react redux的原理以及基础使用讲解数据库2022-11-13 MySQL锁的类型以及使用的基本原则数据库2024-04-02 ajax原理以及应用场景数据库2023-06-08 MYSQL MONGODB REDIS 同步原理以及高可用性对比数据库2024-04-02 C++互斥锁原理以及实际使用介绍数据库2023-05-17 java中synchronized的原理以及作用数据库2023-06-20 MySQL 临时表的原理以及优化方法数据库2022-08-22 MySQL中负值原理以及流程是什么数据库2024-04-02 Android检测Cursor泄漏的原理以及使用方法数据库2022-06-06 Mysql的复制原理以及过程是怎样的数据库2024-04-02 MySQL复制以及调优原理的示例分析数据库2024-04-02 MySQL的索引原理以及查询优化详解数据库2024-04-02 MySQL 5.6中新增特性、不推荐使用的功能以及废弃的功能有哪些数据库2024-04-02 咦!没有更多了?去看看其它编程学习网 内容吧 |