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

MySQL使用pt-table-sync修復(fù)主從數(shù)據(jù)一致性問(wèn)題

 更新時(shí)間:2026年04月02日 09:14:43   作者:·云揚(yáng)·  
在 MySQL 主從架構(gòu)中,數(shù)據(jù)一致性是運(yùn)維的核心訴求,大事務(wù)中斷、誤操作等都可能導(dǎo)致主從數(shù)據(jù)偏差,今天分享一款 Percona Toolkit 旗下的神器pt-table-sync,通過(guò)實(shí)戰(zhàn)案例教大家高效修復(fù)主從數(shù)據(jù)不一致問(wèn)題,需要的朋友可以參考下

引言

在 MySQL 主從架構(gòu)中,數(shù)據(jù)一致性是運(yùn)維的核心訴求 —— 網(wǎng)絡(luò)波動(dòng)、大事務(wù)中斷、誤操作等都可能導(dǎo)致主從數(shù)據(jù)偏差,進(jìn)而引發(fā)業(yè)務(wù)異常。今天分享一款 Percona Toolkit 旗下的神器pt-table-sync,通過(guò)實(shí)戰(zhàn)案例教大家高效修復(fù)主從數(shù)據(jù)不一致問(wèn)題。

一、工具前置準(zhǔn)備

1. 安裝 Percona Toolkit

pt-table-sync是 Percona Toolkit 的核心工具之一,需先完成安裝:

# Ubuntu/Debian系統(tǒng)
sudo apt-get update && sudo apt-get install percona-toolkit -y
# CentOS/RHEL系統(tǒng)
sudo yum install percona-toolkit -y

驗(yàn)證安裝:pt-table-sync --version 顯示版本號(hào)即成功。

2. 前置校驗(yàn)條件

修復(fù)前需確保:

  • 主從復(fù)制正常運(yùn)行(show slave status 中 Slave_IO_Running 和 Slave_SQL_Running 均為 Yes)
  • 已通過(guò) pt-table-checksum 生成校驗(yàn)信息(存儲(chǔ)在 percona.checksums 表)
# 主庫(kù)執(zhí)行校驗(yàn)(需提前創(chuàng)建percona庫(kù))
pt-table-checksum --replicate=percona.checksums h=192.168.184.151,u=dba,p=Id81Gdac_a
  • 從庫(kù)可通過(guò)主庫(kù)授權(quán)賬號(hào)(如 dba)正常訪問(wèn)
CREATE USER 'dba'@'192.168.%' IDENTIFIED WITH MYSQL_NATIVE_PASSWORD BY 'Id81Gdac_a';
GRANT SELECT, INSERT, UPDATE, DELETE, REPLICATION CLIENT ON *.* TO 'dba'@'192.168.%';

二、核心操作實(shí)戰(zhàn)

假設(shè)主庫(kù) IP 為 192.168.184.150,從庫(kù) IP 為 192.168.184.152,授權(quán)賬號(hào) u=dba,密碼 Id81Gdac_a。

1. 預(yù)覽修復(fù)語(yǔ)句(安全第一)

先通過(guò)--print參數(shù)輸出修復(fù) SQL,不實(shí)際執(zhí)行,避免誤操作:

# 全庫(kù)一致性修復(fù)預(yù)覽
pt-table-sync --print \
--replicate=percona.checksums \
--sync-to-master h=192.168.184.152,u=dba,p=Id81Gdac_a

關(guān)鍵說(shuō)明:

--sync-to-master

表示以主庫(kù)為數(shù)據(jù)源同步從庫(kù),所有修改都會(huì)先在主庫(kù)執(zhí)行,再通過(guò)復(fù)制同步到從庫(kù),避免直接修改從庫(kù)引發(fā)的復(fù)制異常。

2. 指定數(shù)據(jù)庫(kù)修復(fù)預(yù)覽

若僅需同步maria庫(kù)的數(shù)據(jù):

pt-table-sync --print \
--replicate=percona.checksums \
--sync-to-master h=192.168.184.152,u=dba,p=Id81Gdac_a \
--databases=maria

3. 執(zhí)行實(shí)際修復(fù)操作

確認(rèn)預(yù)覽的 SQL 語(yǔ)句無(wú)誤后,用--execute參數(shù)執(zhí)行修復(fù):

pt-table-sync --execute \
--replicate=percona.checksums \
--sync-to-master h=192.168.184.152,u=dba,p=Id81Gdac_a \
--databases=maria

執(zhí)行耗時(shí):根據(jù)數(shù)據(jù)量而定,建議在業(yè)務(wù)低峰期操作,大表可通過(guò)

--chunk-size

拆分?jǐn)?shù)據(jù)塊減少鎖影響。

三、關(guān)鍵參數(shù)詳解

參數(shù)作用
--replicate=percona.checksums指定校驗(yàn)信息存儲(chǔ)表,需與pt-table-checksum的輸出表一致
--sync-to-master自動(dòng)識(shí)別從庫(kù)對(duì)應(yīng)的主庫(kù),以主庫(kù)為數(shù)據(jù)基準(zhǔn)
--print僅輸出修復(fù) SQL,不執(zhí)行(推薦先執(zhí)行此步驟)
--execute執(zhí)行修復(fù)操作(謹(jǐn)慎使用)
--databases指定需同步的數(shù)據(jù)庫(kù)(多庫(kù)用逗號(hào)分隔)
--tables指定需同步的表(格式:db.tbl,多表用逗號(hào)分隔)

四、避坑注意事項(xiàng)

  1. 數(shù)據(jù)備份:修復(fù)前務(wù)必對(duì)從庫(kù)數(shù)據(jù)備份,避免工具異常導(dǎo)致數(shù)據(jù)丟失
  2. 權(quán)限要求:執(zhí)行賬號(hào)需具備主庫(kù)的UPDATE、DELETE權(quán)限,從庫(kù)的SELECT權(quán)限
  3. 禁止直接修改從庫(kù)pt-table-sync默認(rèn)通過(guò)主庫(kù)執(zhí)行修改,禁止使用--direct參數(shù)直接操作從庫(kù)(可能破壞復(fù)制鏈路)
  4. 主從延遲處理:修復(fù)前需確保主從延遲在可接受范圍(`Seconds_Behind_Master ),避免同步期間產(chǎn)生新的不一致
  5. 測(cè)試環(huán)境驗(yàn)證:新環(huán)境首次使用時(shí),建議先在測(cè)試集群驗(yàn)證,再應(yīng)用到生產(chǎn)環(huán)境

五、修復(fù)后驗(yàn)證

# 重新執(zhí)行校驗(yàn),確認(rèn)無(wú)差異
pt-table-checksum --replicate=percona.checksums h=192.168.184.151,u=dba,p=Id81Gdac_a
# 從庫(kù)查看同步狀態(tài)
show slave status\G
# 關(guān)鍵指標(biāo):Seconds_Behind_Master=0,無(wú)復(fù)制錯(cuò)誤

總結(jié)

pt-table-sync的核心優(yōu)勢(shì)在于安全高效—— 通過(guò)主庫(kù)間接同步從庫(kù),避免直接操作從庫(kù)的風(fēng)險(xiǎn),同時(shí)支持細(xì)粒度的庫(kù)表篩選。日常運(yùn)維中,建議將pt-table-checksum(定期校驗(yàn))與pt-table-sync(異常修復(fù))配合使用,形成主從一致性保障體系。

如果遇到復(fù)雜場(chǎng)景(如無(wú)主鍵表、大事務(wù)表同步),歡迎在評(píng)論區(qū)交流探討!

以上就是MySQL使用pt-table-sync修復(fù)主從數(shù)據(jù)一致性問(wèn)題的詳細(xì)內(nèi)容,更多關(guān)于MySQL pt-table-sync修復(fù)主從一致性的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • SpringBoot集成Kafka2.4.0的全過(guò)程

    SpringBoot集成Kafka2.4.0的全過(guò)程

    本文介紹了如何在Spring Boot 2.4.0環(huán)境中集成Kafka,從前提條件、Kafka啟動(dòng)(包括Windows和Linux)、pom.xml配置、消息生產(chǎn)者與消費(fèi)者代碼編寫(xiě)到實(shí)際運(yùn)行并發(fā)送消息的全過(guò)程,感興趣的朋友跟隨小編一起看看吧
    2025-09-09
  • Mysql更換MyISAM存儲(chǔ)引擎為Innodb的操作記錄總結(jié)

    Mysql更換MyISAM存儲(chǔ)引擎為Innodb的操作記錄總結(jié)

    下面小編就為大家?guī)?lái)一篇Mysql更換MyISAM存儲(chǔ)引擎為Innodb的操作記錄總結(jié)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-03-03
  • Mysql數(shù)據(jù)庫(kù)定時(shí)備份腳本分享

    Mysql數(shù)據(jù)庫(kù)定時(shí)備份腳本分享

    這篇文章主要分享了Mysql數(shù)據(jù)庫(kù)的定時(shí)備份腳本,幫助大家更好的理解和使用MySQL數(shù)據(jù)庫(kù),感興趣的朋友可以了解下
    2020-09-09
  • MySQL?datetime類(lèi)型與時(shí)間、日期格式字符串大小比較的方法

    MySQL?datetime類(lèi)型與時(shí)間、日期格式字符串大小比較的方法

    這篇文章主要介紹了MySQL?datetime類(lèi)型與時(shí)間、日期格式字符串大小比較,本文使用的是mysql8.0.27版本,其他版本自測(cè)一下,結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-11-11
  • Mysql性能優(yōu)化方案分享

    Mysql性能優(yōu)化方案分享

    這篇文章主要為大家分享了Mysql性能優(yōu)化方案,幫助大家進(jìn)行Mysql性能優(yōu)化,感興趣的小伙伴們可以參考一下
    2016-03-03
  • MySQL虛擬列的具體使用

    MySQL虛擬列的具體使用

    虛擬列是一種特殊類(lèi)型的表列,它不像普通列直接存儲(chǔ)數(shù)據(jù),而是根據(jù)其他列中的數(shù)據(jù)動(dòng)態(tài)生成,本文主要介紹了MySQL虛擬列的具體使用,感興趣的可以了解一下
    2024-09-09
  • Ubuntu手動(dòng)安裝mysql5.7.10

    Ubuntu手動(dòng)安裝mysql5.7.10

    這篇文章主要為大家詳細(xì)介紹了Ubuntu手動(dòng)安裝mysql5.7.10的詳細(xì)過(guò)程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-02-02
  • docker安裝MySQL報(bào)錯(cuò)端口被占用問(wèn)題解決辦法

    docker安裝MySQL報(bào)錯(cuò)端口被占用問(wèn)題解決辦法

    docker部署mysql容器時(shí),最常見(jiàn)的啟動(dòng)失敗原因之一是宿主機(jī)的3306端口被占用,這篇文章主要介紹了docker安裝MySQL報(bào)錯(cuò)端口被占用問(wèn)題解決辦法的相關(guān)資料,文中將解決的辦法介紹的非常詳細(xì),需要的朋友可以參考下
    2026-03-03
  • 使用MySQL生成最近24小時(shí)整點(diǎn)時(shí)間臨時(shí)表

    使用MySQL生成最近24小時(shí)整點(diǎn)時(shí)間臨時(shí)表

    MySQL臨時(shí)表是一種只存在于當(dāng)前數(shù)據(jù)庫(kù)連接或會(huì)話期間的表,它們可以被用來(lái)存儲(chǔ)臨時(shí)數(shù)據(jù),這些數(shù)據(jù)可以在查詢(xún)中被使用,但是它們不會(huì)在數(shù)據(jù)庫(kù)中永久存儲(chǔ),這篇文章主要給大家介紹了關(guān)于如何使用MySQL生成最近24小時(shí)整點(diǎn)時(shí)間臨時(shí)表的相關(guān)資料,需要的朋友可以參考下
    2024-01-01
  • 解析MySQL中mysqldump工具的基本用法

    解析MySQL中mysqldump工具的基本用法

    本篇文章是對(duì)MySQL中mysqldump工具的基本用法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06

最新評(píng)論

福鼎市| 拜泉县| 台江县| 伊吾县| 彭泽县| 大厂| 望江县| 聂拉木县| 绥阳县| 文成县| 桂阳县| 五台县| 肥西县| 鄱阳县| 五河县| 黑龙江省| 卫辉市| 东阿县| 荆门市| 清丰县| 金溪县| 马山县| 万年县| 克什克腾旗| 乌海市| 包头市| 阿瓦提县| 灵武市| 南和县| 汶川县| 开封县| 太仆寺旗| 龙游县| 呼图壁县| 隆昌县| 绥滨县| 玉门市| 霞浦县| 宝鸡市| 宜昌市| 阿瓦提县|