最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL中g(shù)tid_purged?的初始化和更新機制詳解

 更新時間:2025年12月11日 11:29:56   作者:翔云123456  
文章介紹了MySQL中的gtid_purged變量,該變量用于記錄已經(jīng)從磁盤上被清除的二進制日志文件中的事務(wù)的GTID集合,它在服務(wù)器啟動時初始化,本文介紹的非常詳細感興趣的朋友一起看看吧

gtid_purged已提交但在服務(wù)器二進制日志中已被清除的事務(wù)的GTID集合gtid_purgedgtid_executed

初始化

前文中已講到 gtid_executed 和gtid_purged 初始化,這里再回顧下gtid_purged 初始化。
在 gtid_executed 確定之后,再看下gtid_purged 的計算。
實際上,簡單說,

gtid_executed = gtid purged + gtid not purged

gtid_purged代表的是已經(jīng)從磁盤上被清除的 binlog 文件中所記錄的那些事務(wù)。

步驟一:計算 gtids_in_binlog(所有曾被記錄在日志中的 GTID)
計算方法:最新的二進制日志文件中的 Previous_gtids_log_event(上一個日志的 GTID 集合)加上該最新日志文件自身的 GTID 事務(wù)。
步驟二:計算 gtids_in_binlog_not_purged(未被清理的 GTID)
計算方法: 用 gtids_in_binlog(步驟一的結(jié)果)減去最老的二進制日志文件中的 Previous_gtids_log_event 集合。
步驟三:計算 gtid_purged(已清理的 GTID)
計算方法: 用 gtid_executed(所有執(zhí)行過的 GTID)減去 gtids_in_binlog_not_purged(步驟二的結(jié)果)。

更新時機

gtid_purged的行為主要由服務(wù)器角色和二進制日志(binlog)配置決定,下表總結(jié)了主要場景下的更新時機:

場景分類更新時機關(guān)鍵特征
系統(tǒng)啟動初始化服務(wù)器啟動時。依據(jù)binlog_gtid_simple_recovery設(shè)置,通過掃描二進制日志計算得出。
主庫 (binlog開啟)清理二進制日志時(如執(zhí)行PURGE BINARY LOGS或日志過期自動刪除)。非實時更新。只有當(dāng)包含某些GTID的最后一個二進制日志文件被刪除后,這些GTID才會被加入gtid_purged。
從庫 (binlog關(guān)閉或log_slave_updates=OFF)應(yīng)用復(fù)制事務(wù)的提交階段。實時更新。因為無法通過binlog持久化GTID,所以每提交一個復(fù)制事務(wù),其GTID會同時計入gtid_executedgtid_purged。
從庫 (binlog開啟且log_slave_updates=ON)清理二進制日志時。行為與主庫一致,非實時更新。
通用命令執(zhí)行 RESET MASTERSET @@GLOBAL.gtid_purged 語句時。會直接清空或設(shè)置該變量的值,通常用于搭建/恢復(fù)復(fù)制環(huán)境。

補充說明

除了上述核心機制,以下幾點對理解和管理gtid_purged也至關(guān)重要:

  1. 初始化依賴的配置:系統(tǒng)變量binlog_gtid_simple_recovery(默認(rèn)ON)決定了啟動時初始化gtid_purged的效率。
    • ON(默認(rèn)):僅讀取最舊最新的兩個二進制日志文件來計算,速度快。
    • OFF:可能需要掃描所有二進制日志文件來計算,速度慢,僅在升級等特定場景下可能需要設(shè)置。
  2. 與備份恢復(fù)的關(guān)系:使用mysqldump進行邏輯備份時,導(dǎo)出的SQL文件默認(rèn)會包含一條SET @@GLOBAL.gtid_purged = ...語句。這條語句的作用是告訴新的從庫“備份文件中已經(jīng)包含了哪些GTID對應(yīng)的事務(wù),這些事務(wù)無需再從主庫復(fù)制”。在多源復(fù)制或已有數(shù)據(jù)的實例上恢復(fù)時,需要謹(jǐn)慎處理此語句。
  3. 約束條件:在MySQL 5.7版本中,只有在gtid_executed集合為空時(例如執(zhí)行RESET MASTER之后),才能設(shè)置gtid_purged。更高版本的限制可能有所放松,但此操作仍需在明確知曉影響的情況下執(zhí)行。

應(yīng)用與排查要點

  • 搭建從庫:這是gtid_purged最主要的使用場景。在從庫上使用SET @@GLOBAL.gtid_purged來聲明已從備份數(shù)據(jù)中恢復(fù)的事務(wù)GTID集,是建立基于GTID復(fù)制的關(guān)鍵步驟之一。
  • 常見問題排查:如果出現(xiàn)“The slave is connecting using CHANGE MASTER TO … MASTER_AUTO_POSITION = 1, but the master has purged binary logs containing GTIDs that the slave requires”錯誤,通常是因為從庫gtid_purged集合中的部分GTID在主庫的二進制日志中已被清除。解決方案通常是從頭重建復(fù)制,或使用第三方工具(如binlog server)來提供丟失的日志。

總結(jié)

簡單來說,gtid_purged是一個用于追蹤“已提交但日志已丟失事務(wù)”的GTID集合。它在服務(wù)器啟動時初始化,更新時機取決于配置:主庫和開啟log_slave_updates的從庫在清除二進制日志時更新;未開啟log_slave_updates的從庫則在每個事務(wù)提交時實時更新。

到此這篇關(guān)于MySQL中g(shù)tid_purged 的初始化和更新機制的文章就介紹到這了,更多相關(guān)mysql gtid_purged內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • mysql數(shù)據(jù)庫添加用戶及分配權(quán)限具體實現(xiàn)

    mysql數(shù)據(jù)庫添加用戶及分配權(quán)限具體實現(xiàn)

    這篇文章主要介紹了mysql數(shù)據(jù)庫添加用戶及分配權(quán)限的方法,需要的朋友可以參考下
    2014-02-02
  • Mysql查詢語句優(yōu)化技巧

    Mysql查詢語句優(yōu)化技巧

    這篇文章主要介紹了Mysql查詢語句優(yōu)化技巧的相關(guān)資料,需要的朋友可以參考下
    2016-04-04
  • mysql通過@變量實現(xiàn)遞歸詳細實例

    mysql通過@變量實現(xiàn)遞歸詳細實例

    眾所周知目前的mysql版本中并不支持直接的遞歸查詢,下面這篇文章主要給大家介紹了關(guān)于mysql通過@變量實現(xiàn)遞歸的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-06-06
  • MySQL8新特性:持久化全局變量的修改方法

    MySQL8新特性:持久化全局變量的修改方法

    這篇文章主要給大家介紹了關(guān)于MySQL 8新特性:持久化全局變量的修改的相關(guān)內(nèi)容,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-07-07
  • MySQL高級查詢之JOIN、子查詢、窗口函數(shù)實際案例

    MySQL高級查詢之JOIN、子查詢、窗口函數(shù)實際案例

    這篇文章主要介紹了MySQL高級查詢之JOIN、子查詢、窗口函數(shù)實際案例的相關(guān)資料,JOIN用于多表關(guān)聯(lián)查詢,子查詢用于數(shù)據(jù)篩選和過濾,窗口函數(shù)則提供靈活的數(shù)據(jù)統(tǒng)計和排名功能,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2025-04-04
  • MYSQL的慢SQL優(yōu)化的實現(xiàn)

    MYSQL的慢SQL優(yōu)化的實現(xiàn)

    本文主要介紹了MYSQL的慢SQL優(yōu)化的實現(xiàn),從慢SQL定義、影響、常見場景與危害、識別與監(jiān)控、分析、優(yōu)化方法、執(zhí)行計劃分析、案例分析、總結(jié)與最佳實踐、常見優(yōu)化誤區(qū)、日常開發(fā)預(yù)防措施等方面詳細闡述,感興趣的可以了解一下
    2026-05-05
  • Mysql基礎(chǔ)教程之增刪改查語句

    Mysql基礎(chǔ)教程之增刪改查語句

    這篇文章主要給大家介紹了關(guān)于Mysql基礎(chǔ)教程之增刪改查語句的相關(guān)資料,以下是MySQL最基本的增刪改查語句,很多IT工作者都必須要會的命令,也是IT行業(yè)面試最常考的知識點,需要的朋友可以參考下
    2023-10-10
  • MySQL視圖的概念和操作函數(shù)詳解

    MySQL視圖的概念和操作函數(shù)詳解

    對MySQL數(shù)據(jù)庫的查詢,除了基本的查詢外,有時候需要對查詢的結(jié)果集進行處理,下面這篇文章主要給大家介紹了關(guān)于MySQL數(shù)據(jù)庫基本SQL語句教程之高級操作中視圖的相關(guān)資料,需要的朋友可以參考下
    2023-03-03
  • 詳解MySQL自增主鍵的實現(xiàn)

    詳解MySQL自增主鍵的實現(xiàn)

    現(xiàn)在大部分的軟件開發(fā)都離不開數(shù)據(jù)庫。而mysql也是經(jīng)常會用到的一個數(shù)據(jù)庫。mysql數(shù)據(jù)庫中有一個主鍵生成規(guī)則,就是自增。也是我們經(jīng)常會用到的。本文就來介紹一下
    2021-09-09
  • mysql大數(shù)據(jù)查詢優(yōu)化經(jīng)驗分享(推薦)

    mysql大數(shù)據(jù)查詢優(yōu)化經(jīng)驗分享(推薦)

    這篇文章主要介紹了mysql大數(shù)據(jù)查詢優(yōu)化經(jīng)驗分享,真的是正兒八經(jīng)的mysql優(yōu)化技巧,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2018-03-03

最新評論

竹溪县| 通道| 郧西县| 金湖县| 巍山| 淮南市| 阿坝县| 太保市| 沂源县| 威海市| 永安市| 大安市| 崇左市| 青岛市| 镇坪县| 蓬安县| 漯河市| 土默特左旗| 常山县| 萨迦县| 江口县| 新建县| 岗巴县| 大化| 呼伦贝尔市| 华宁县| 萍乡市| 广汉市| 锡林郭勒盟| 油尖旺区| 昭平县| 边坝县| 南和县| 奉节县| 清镇市| 余干县| 义马市| 文安县| 南京市| 突泉县| 和龙市|