濮阳杆衣贸易有限公司

主頁 > 知識庫 > MySQL pt-slave-restart工具的使用簡介

MySQL pt-slave-restart工具的使用簡介

熱門標(biāo)簽:呂梁外呼系統(tǒng) 400電話辦理服務(wù)價格最實(shí)惠 武漢電銷機(jī)器人電話 南太平洋地圖標(biāo)注 催天下外呼系統(tǒng) 北京金倫外呼系統(tǒng) 大豐地圖標(biāo)注app 400電話變更申請 html地圖標(biāo)注并導(dǎo)航

    在MySQL主從復(fù)制環(huán)境的搭建中,常常會遇到一種場景,主庫和從庫都要初始化用戶的賬號密碼,正常的情況下,需要在主庫和從庫都關(guān)閉session級別的binlog,然后再進(jìn)行用戶信息導(dǎo)入。

    但是有時候會忽略關(guān)閉session級別binlog這個前置動作,例如在基于GTID的復(fù)制模式下,主從庫都直接導(dǎo)入了用戶的賬號密碼信息,主庫和從庫都將賬號密碼的事務(wù)記錄到了自己的GTID中,此時我們?nèi)绻肎TID的方式搭建復(fù)制,會出現(xiàn)報(bào)錯,因?yàn)閺膸煲呀?jīng)有賬號了,所以主庫上同步到從庫的用戶信息會出現(xiàn)報(bào)錯現(xiàn)象,提示用戶已經(jīng)存在,這種情況下,我們需要在從庫跳過從主庫復(fù)制過來的創(chuàng)建用戶的SQL語句。

    在GTID模式下,通過下面的辦法可以跳過一個事務(wù):

stop slave;
set gtid_next=xxxxx;
begin;
commit;
set gtid_next=automatic;
start slave;

但是在事務(wù)數(shù)很多的情況下,我們不能一個一個跳過,需要批量跳過同一個錯誤,這里有幾種方式可以進(jìn)行處理;

MySQL復(fù)制問題的三個參數(shù)介紹 

分別是調(diào)整slave_skip_errors參數(shù)或者slave_exec_mode 參數(shù)

今天我們來看另外一種方法,就是利用pt-slave-restart工具來進(jìn)行事務(wù)跳過,命令如下:

./pt-slave-restart -uroot -proot123 --error-numbers=1062

命令很容易理解,寫清楚錯誤編碼,直接跳過就行,它會打印出來很多信息,默認(rèn)情況下打印內(nèi)容為:時間戳、連接信息、中繼日志文件、中繼日志位置以及上一個錯誤號。例如:

2020-09-22T00:59:09 P=3306,h=192.168.7.194,p=...,u=root relay-bin.000005         369 1032 
2020-09-22T00:59:09 P=3306,h=192.168.7.194,p=...,u=root relay-bin.000005         726 1032 
2020-09-22T00:59:09 P=3306,h=192.168.7.194,p=...,u=root relay-bin.000005        1085 1032 
2020-09-22T00:59:09 P=3306,h=192.168.7.194,p=...,u=root relay-bin.000005        1444 1032 
2020-09-22T00:59:09 P=3306,h=192.168.7.194,p=...,u=root relay-bin.000005        1800 1032

你可以使用--verbose選項(xiàng)添加更多信息,也可以使用--quiet選項(xiàng)阻止所有輸出。

注意事項(xiàng):

當(dāng)采用多線程復(fù)制(slave_parallel_workers > 0)時,pt-slave-restart不能跳過事務(wù)。pt-slave-restart不能確定GTID事件是哪個特定slave線程執(zhí)行失敗的事務(wù)。

如果需要使用,請暫時關(guān)閉多線程復(fù)制的workers

關(guān)于pt-slave-restart的其他參數(shù),可以使用pt-slave-restart --help的命令查看,也可以參考下面的常見參數(shù)列表:

--always        :永不停止slave線程,手工停止也不行

--ask-pass      :替換-p命令,防止密碼輸入被身后的開發(fā)窺屏

--error-numbers :指定跳過哪些錯誤,可用,進(jìn)行分隔

--error-text    :根據(jù)錯誤信息進(jìn)行匹配跳過

--log           :輸出到文件

--recurse       :在主端執(zhí)行,監(jiān)控從端

--runtime       :工具執(zhí)行多長時間后退出:默認(rèn)秒,m=minute,h=hours,d=days

--slave-user --slave-password :從庫的賬號密碼,從主端運(yùn)行時使用

--skip-count    :一次跳過錯誤的個數(shù),膽大的可以設(shè)置大些,不指定默認(rèn)1個

--master-uuid   :級聯(lián)復(fù)制的時候,指定跳過上級或者上上級事務(wù)的錯誤

--until-master  :到達(dá)指定的master_log_pos,file位置后停止,格式:”file:pos“

--until-relay   :和上面一樣,但是根據(jù)relay_log的位置來停止

以上就是MySQL pt-slave-restart工具的使用簡介的詳細(xì)內(nèi)容,更多關(guān)于MySQL pt-slave-restart工具的使用的資料請關(guān)注腳本之家其它相關(guān)文章!

您可能感興趣的文章:
  • The MySQL server is running with the --read-only option so it cannot execute this statement
  • mysql數(shù)據(jù)庫mysql: [ERROR] unknown option ''--skip-grant-tables''
  • mysql視圖之確保視圖的一致性(with check option)操作詳解
  • MySQL存儲表情時報(bào)錯:java.sql.SQLException: Incorrect string value:‘\xF0\x9F\x92\xA9\x0D\x0A...’的解決方法
  • Mysql中的NULL和Empty String
  • javascript連接mysql與php通過odbc連接任意數(shù)據(jù)庫的實(shí)例
  • ubuntu下apt-get安裝和徹底卸載mysql詳解
  • MySQL利用AES_ENCRYPT()與AES_DECRYPT()加解密的正確方法示例
  • mysql server is running with the --skip-grant-tables option
  • 利用pt-heartbeat監(jiān)控MySQL的復(fù)制延遲詳解

標(biāo)簽:龍巖 西寧 無錫 南充 迪慶 自貢 麗水 徐州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《MySQL pt-slave-restart工具的使用簡介》,本文關(guān)鍵詞  MySQL,pt-slave-restart,工具,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《MySQL pt-slave-restart工具的使用簡介》相關(guān)的同類信息!
  • 本頁收集關(guān)于MySQL pt-slave-restart工具的使用簡介的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    涿州市| 连山| 岳池县| 阜新| 铜川市| 涿州市| 天水市| 静乐县| 庄浪县| 扶绥县| 阳新县| 台东市| 昌平区| 沅陵县| 米林县| 三明市| 谷城县| 陇南市| 宜兴市| 驻马店市| 龙山县| 济源市| 宜昌市| 玛纳斯县| 镇巴县| 沅陵县| 浏阳市| 普兰店市| 原平市| 庆阳市| 西平县| 迁安市| 仁布县| 济阳县| 泽普县| 衡山县| 临潭县| 江阴市| 无锡市| 濉溪县| 仁寿县|