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

1.2.2 主庫修改時機

1.binary log關閉

在binary log關閉的狀態下,不生成GTID,mysql.gtid_executed表、gtid_executed變量、gtid_purged變量均不更新。

2.binary log打開

主庫通常都被設置成binary log打開的狀態,需要重點關注一下。

mysql.gtid_executed表修改時機

在binary log切換時保存直到上一個binary log執行過的全部GTID,它不是實時更新的。這個過程主要會調用Gtid_state::save_gtids_of_last_binlog_into_table函數,下面是部分代碼:

gtid_executed變量修改時機

在order commit的FLUSH階段生成GTID,在COMMIT階段才計入gtid_executed變量,它是實時更新的。這個過程是通過調用Gtid_state::update_gtids_impl函數完成的。代碼如下。

gtid_purged變量修改時機

在清理binary log時修改,比如在執行命令purge binary logs或者超過參數expire_logs_days的設置后自動刪除,需要將丟失的GTID SET計入這個變量,因此它不是實時更新的。這個過程主要集中在MYSQL_BIN_LOG::purge_logs函數中。代碼片段如下。

主站蜘蛛池模板: 砚山县| 德格县| 阆中市| 黎城县| 柞水县| 蒲江县| 瓦房店市| 聂拉木县| 松阳县| 融水| 云浮市| 青州市| 台东市| 喀喇沁旗| 邵阳县| 家居| 尼木县| 南昌县| 巴马| 大余县| 沙雅县| 南漳县| 左贡县| 芦溪县| 广东省| 永仁县| 宁夏| 当雄县| 丰台区| 桃江县| 罗田县| 泾川县| 广安市| 阜新| 榕江县| 新乡市| 连城县| 满洲里市| 元江| 凯里市| 社旗县|