官术网_书友最值得收藏!

1.2.1 定義

· mysql.gtid_executed表:GTID持久化的介質,GTID模塊初始化的時候會讀取這個表作為獲取gtid_executed變量的基礎。

· gtid_executed變量:表示數據庫中執行了哪些GTID,它是一個處于內存中的GTID SET。show slave status 中的 Executed_Gtid_Set 和 show master status 中的Executed_Gtid_Set都來自它。

· gtid_purged變量:表示由于刪除binary log(如執行purge binary logfiles命令或者超過參數expire_logs_days設置),已經丟失的GTID Event,它是一個處于內存中的GTID SET。我們在搭建從庫時,通常需要使用set global gtid_purged命令設置本變量,用于表示這個備份已經執行了哪些GTID操作。需要注意的是,手動刪除binary log不會更新這個變量。

其中,gtid_executed變量和gtid_purged變量都是通過show global variables命令來獲取的。

這也是數據庫管理員通常能夠觀察到的幾種 GTID 信息,有了前文的描述,我們知道其中的mysql.gtid_executed表是一種GTID持久化的介質,gtid_executed變量和gtid_purged變量則對應了內部結構體Gtid_state中的executed_gtids和lost_gtids內存數據,它們分別表示數據庫執行了哪些GTID操作,又有哪些GTID操作由于刪除binary log已經丟失了。

這里需要達成一個共識:gtid_executed變量一定是實時更新的,不管是主庫還是從庫。下面將分為主庫修改時機、從庫修改時機、通用修改時機三部分討論。

后面的介紹都約定在打開GTID的情況下。圖1-1中的灰色部分為常見的配置,讀者可以對它們的更改時機有一個整體的把握,為后面的深入學習打好基礎。

圖1-1

主站蜘蛛池模板: 方正县| 霍州市| 郴州市| 阿图什市| 盱眙县| 湘潭市| 竹溪县| 咸宁市| 凤台县| 莆田市| 金湖县| 微博| 观塘区| 辽源市| 株洲县| 汉阴县| 芜湖县| 隆尧县| 开阳县| 绍兴县| 江安县| 庆元县| 越西县| 开鲁县| 荥阳市| 岱山县| 芮城县| 保山市| 赤壁市| 洱源县| 沽源县| 迁安市| 武宁县| 松桃| 珠海市| 丰台区| 溧阳市| 莱西市| 兴文县| 麦盖提县| 邓州市|