Mysql 5.7 Gtid內部學習(一) 導讀
簡書地址:
Mysql Gtid特性是5.6加入的一個強大的特性,它的目的在於使用Gtid的Mysql能夠在整個複製環境中能夠自動的切換,而不像以前需要指定檔案和位置,這也一定是未來發展的方向,我們熟知的MGR也是基於Gtid的,所以瞭解Gtid的原理也是必要的。
Gtid的維護是完全自動的,但是實際使用上確實有較多的坑,也導致很多朋友對Gtid還是覺得畏懼,本系列文章將從Gtid模組的原始碼出發分析,並且給出總結,然後結合運維和案例進行綜合的解析,我希望拋磚引玉讓希望瞭解原始碼的朋友也有所收穫,但是能力有限特別是原始碼部分如果有錯誤請指出,並且能夠一起交流,如果有朋友有更好的案例也歡迎一起探討。
當然留下這麼一個系列也有自己的原因,好記性不如爛筆頭嘛,因此也當自己的一個筆記了。
本系列文章使用原始碼版本為percona 5.7.14,也比較過5.7.17,5.6.25的原始碼版本。佔時沒有能力比較全部的Mysql原始碼版本,有誤導還請見諒。
一、Gtid事物的生命週期
Gtid的全稱為global transaction identifier,他在整個複製生態中完全唯一的,下面我們透過一個圖來解釋它的整個生命週期,假設我們這裡有一個master->slave->slave的複製環境,生成了一個Gtid為89dfa8a4-cb13-11e6-b504-000c29a879a3:1的Gtid 事物,因為名字太長我簡化為879a3:1如圖:
我們可以看到在整個生命週期中整個事物的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
作者微信:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7728585/viewspace-2148834/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Mysql 5.7 Gtid內部學習(九) 實際案例(一)MySql
- Mysql 5.7 Gtid內部學習(二) Gtid相關內部資料結構MySql資料結構
- Mysql 5.7 Gtid內部學習(十) 實際案例(二)MySql
- Mysql 5.7 Gtid內部學習(六) Mysql啟動初始化Gtid模組MySql
- Mysql 5.7 Gtid內部學習(四) mysql.gtid_executed表Previous gtid Event的改變MySql
- Mysql 5.7 Gtid內部學習(八) Gtid帶來的運維改變MySql運維
- Mysql 5.7 Gtid內部學習(五) mysql.gtid_executed表及其他變數更改時機MySql變數
- Mysql 5.7 Gtid內部學習(三) Gtid和Last_commt/sequnce_number的生成時機MySqlAST
- Mysql 5.7 Gtid內部學習(七) 總結binlog_gtid_simple_recovery引數帶來的影響MySql
- mysql 5.7 GTID主從配置MySql
- MySQL5.7GTID淺析MySql
- MYSQL5.7-GTID概要翻譯MySql
- MySQL5.7GTID運維實戰MySql運維
- MySQL 5.7 用mysqldump搭建gtid主從MySql
- MySQL 5.7 用xtrabackup搭建gtid主從MySql
- MySQL 5.7傳統複製到GTID線上切換(一主一從)MySql
- MySQL 5.7 基於GTID搭建主從複製MySql
- MySQL 5.7基於GTID的主從複製MySql
- MySQL 5.7 使用GTID方式搭建複製環境MySql
- JAVA內部類學習Java
- MySQL 基礎知識梳理學習(四)—-GTIDMySql
- Mysql 5.7儲存過程的學習MySql儲存過程
- MYSQL5.7 MASTER-SLAVE 線上關閉和啟動GTIDMySqlAST
- MySQL 5.7 學習心得之安全相關特性MySql
- C#學習筆記一:深入HelloWorld內部 (轉)C#筆記
- ARCore學習之旅:ARCore Sample 導讀
- 5.7學習進度
- 深入理解MySQL5.7GTID系列(七)binlog_gtid_simple_recovery引數的影響總結MySql
- mysql不是內部命令MySql
- 【MySQL學習】在RHEL7.3上使用yum安裝MySQL5.7MySql
- mysql學習(一)MySql
- MySQL 5.7複製配置不規範修改導致的坑(一)MySql
- SQL學習筆記(ORACLE內部儲存)SQL筆記Oracle
- 【MySQL】MySQL Replication 一主一備搭建步驟(GTID方式)MySql
- 物件導向之內部類物件
- mysql 5.7以後需要設定安全導向MySql
- centos8部署MySQL5.7故障集CentOSMySql
- 【MySQL】5.7新特性之一MySql