- 深入理解MySQL主從原理
- 高鵬
- 308字
- 2021-04-16 16:29:18
1.1.5 GTID_EVENT和PREVIOUS_GTIDS_LOG_EVENT簡介
這里先解釋一下它們的作用,因為后面會用到。具體的Event解析可以參考2.2節和2.3節。
1.GTID_EVENT
GTID_EVENT作為DML/DDL的第一個Event,用于描述這個操作的GTID是多少。在MySQL 5.7中,為了支持從庫基于LOGICAL_CLOCK的并行回放,封裝了last commit和seq number兩個值,可以稱其為邏輯時鐘。在MySQL 5.7中,即便不開啟GTID也會包含一個匿名的ANONYMOUS_GTID_EVENT,但是其中不會攜帶GTID信息,只包含last commit和seq number兩個值。
2.PREVIOUS_GTIDS_LOG_EVENT
PREVIOUS_GTIDS_LOG_EVENT包含在每一個binary log的開頭,用于描述直到上一個binary log所包含的全部GTID(包括已經刪除的binary log)。在MySQL 5.7中,即便不開啟GTID,也會包含這個PREVIOUS_GTIDS_LOG_EVENT,實際上這一點意義是非常大的。簡單地說,它為快速掃描binary log獲得正確的gtid_executed變量提供了基礎,否則可能掃描大量的binary log才能得到正確的gtid_executed變量(比如MySQL 5.6中關閉GTID的情況)。這一點將在1.3節詳細描述。
推薦閱讀
- ASP.NET MVC4框架揭秘
- 深入淺出WPF
- C語言從入門到精通(第4版)
- Java性能權威指南(第2版)
- D3.js 4.x Data Visualization(Third Edition)
- Mastering Linux Network Administration
- Scratch趣味編程:陪孩子像搭積木一樣學編程
- Getting Started with Python and Raspberry Pi
- Oracle數據庫編程經典300例
- Keil Cx51 V7.0單片機高級語言編程與μVision2應用實踐
- Java EE程序設計與開發實踐教程
- Swift 2 Design Patterns
- Web前端開發精品課:HTML5 Canvas開發詳解
- Building Microservices with .NET Core 2.0(Second Edition)
- 嵌入式Linux與物聯網軟件開發:C語言內核深度解析