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

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

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

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

初始化

前文中已講到 gtid_executed 和gtid_purged 初始化,這里再回顧下gtid_purged 初始化。
在 gtid_executed 確定之后,再看下gtid_purged 的計(jì)算。
實(shí)際上,簡(jiǎn)單說(shuō),

gtid_executed = gtid purged + gtid not purged

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

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

更新時(shí)機(jī)

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

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

補(bǔ)充說(shuō)明

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

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

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

  • 搭建從庫(kù):這是gtid_purged最主要的使用場(chǎng)景。在從庫(kù)上使用SET @@GLOBAL.gtid_purged來(lái)聲明已從備份數(shù)據(jù)中恢復(fù)的事務(wù)GTID集,是建立基于GTID復(fù)制的關(guān)鍵步驟之一。
  • 常見(jiàn)問(wè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”錯(cuò)誤,通常是因?yàn)閺膸?kù)gtid_purged集合中的部分GTID在主庫(kù)的二進(jìn)制日志中已被清除。解決方案通常是從頭重建復(fù)制,或使用第三方工具(如binlog server)來(lái)提供丟失的日志。

總結(jié)

簡(jiǎn)單來(lái)說(shuō),gtid_purged是一個(gè)用于追蹤“已提交但日志已丟失事務(wù)”的GTID集合。它在服務(wù)器啟動(dòng)時(shí)初始化,更新時(shí)機(jī)取決于配置:主庫(kù)和開(kāi)啟log_slave_updates的從庫(kù)在清除二進(jìn)制日志時(shí)更新;未開(kāi)啟log_slave_updates的從庫(kù)則在每個(gè)事務(wù)提交時(shí)實(shí)時(shí)更新。

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

相關(guān)文章

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

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

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

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

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

    mysql通過(guò)@變量實(shí)現(xiàn)遞歸詳細(xì)實(shí)例

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最新評(píng)論

石嘴山市| 连州市| 襄汾县| 平山县| 本溪市| 石景山区| 新化县| 庆阳市| 秦皇岛市| 河西区| 江孜县| 长顺县| 华池县| 利川市| 莆田市| 淮阳县| 宿州市| 静乐县| 阿图什市| 余庆县| 德州市| 呼和浩特市| 洛浦县| 浠水县| 娱乐| 凤翔县| 凤山县| 城市| 高要市| 上虞市| 越西县| 泗洪县| 蓬溪县| 芜湖县| 玛曲县| 昌邑市| 彝良县| 南和县| 雅江县| 文安县| 溧水县|