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

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

 更新時(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,通過實(shí)戰(zhàn)案例教大家高效修復(fù)主從數(shù)據(jù)不一致問題,需要的朋友可以參考下

引言

在 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,通過實(shí)戰(zhàn)案例教大家高效修復(fù)主從數(shù)據(jù)不一致問題。

一、工具前置準(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 顯示版本號即成功。

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

修復(fù)前需確保:

  • 主從復(fù)制正常運(yùn)行(show slave status 中 Slave_IO_Running 和 Slave_SQL_Running 均為 Yes)
  • 已通過 pt-table-checksum 生成校驗(yàn)信息(存儲(chǔ)在 percona.checksums 表)
# 主庫執(zhí)行校驗(yàn)(需提前創(chuàng)建percona庫)
pt-table-checksum --replicate=percona.checksums h=192.168.184.151,u=dba,p=Id81Gdac_a
  • 從庫可通過主庫授權(quán)賬號(如 dba)正常訪問
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è)主庫 IP 為 192.168.184.150,從庫 IP 為 192.168.184.152,授權(quán)賬號 u=dba,密碼 Id81Gdac_a。

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

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

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

關(guān)鍵說明:

--sync-to-master

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

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

若僅需同步maria庫的數(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 語句無誤后,用--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ù)低峰期操作,大表可通過

--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í)別從庫對應(yīng)的主庫,以主庫為數(shù)據(jù)基準(zhǔn)
--print僅輸出修復(fù) SQL,不執(zhí)行(推薦先執(zhí)行此步驟)
--execute執(zhí)行修復(fù)操作(謹(jǐn)慎使用)
--databases指定需同步的數(shù)據(jù)庫(多庫用逗號分隔)
--tables指定需同步的表(格式:db.tbl,多表用逗號分隔)

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

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

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

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

總結(jié)

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

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

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

相關(guān)文章

  • SpringBoot集成Kafka2.4.0的全過程

    SpringBoot集成Kafka2.4.0的全過程

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

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

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

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

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

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

    這篇文章主要介紹了MySQL?datetime類型與時(shí)間、日期格式字符串大小比較,本文使用的是mysql8.0.27版本,其他版本自測一下,結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(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虛擬列的具體使用

    虛擬列是一種特殊類型的表列,它不像普通列直接存儲(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ì)過程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-02-02
  • docker安裝MySQL報(bào)錯(cuò)端口被占用問題解決辦法

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

    docker部署mysql容器時(shí),最常見的啟動(dòng)失敗原因之一是宿主機(jī)的3306端口被占用,這篇文章主要介紹了docker安裝MySQL報(bào)錯(cuò)端口被占用問題解決辦法的相關(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ù)庫連接或會(huì)話期間的表,它們可以被用來存儲(chǔ)臨時(shí)數(shù)據(jù),這些數(shù)據(jù)可以在查詢中被使用,但是它們不會(huì)在數(shù)據(jù)庫中永久存儲(chǔ),這篇文章主要給大家介紹了關(guān)于如何使用MySQL生成最近24小時(shí)整點(diǎn)時(shí)間臨時(shí)表的相關(guān)資料,需要的朋友可以參考下
    2024-01-01
  • 解析MySQL中mysqldump工具的基本用法

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

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

最新評論

富宁县| 华安县| 洛隆县| 旬阳县| 广安市| 乳山市| 芜湖县| 房产| 察哈| 如东县| 潼南县| 新兴县| 桦甸市| 松江区| 成武县| 成都市| 益阳市| 闽侯县| 长春市| 蛟河市| 玉树县| 威远县| 荣成市| 乡宁县| 礼泉县| 余干县| 黑龙江省| 泰安市| 察雅县| 凤阳县| 元氏县| 饶平县| 雷州市| 彰化市| 牟定县| 鄂伦春自治旗| 金平| 本溪市| 肥西县| 广水市| 德令哈市|