




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 主從一致性檢查已經(jīng)修復(fù)作者:zuoyuezong1 簡介:該軟件是由由領(lǐng)先的MySQL咨詢公司Percona發(fā)布的Percona的很多軟件我只能說是強(qiáng)!超越MYSQL 自身因此不用懷疑這個公司開發(fā)的軟件會不會帶來什么風(fēng)險pt-table-checksum是著名的percona-toolkit工 具集的工具之一。它通過在主庫執(zhí)行基于statement的sql語句來生成主庫數(shù)據(jù)塊的checksum,把相同的sql語句傳遞到從庫,并在從庫上計 算相同數(shù)據(jù)塊的checksum,最后,比較主從庫上相同數(shù)據(jù)塊的checksum值,由此判斷主從數(shù)據(jù)是否一致。這種校驗(yàn)是分表進(jìn)行的,在每個表內(nèi)部又 是分塊進(jìn)行
2、的,而且pt工具本身提供了非常多的限流選項,因此對線上服務(wù)的沖擊較小2 環(huán)境主 38 rootmysql2 從40 rootdbserver1 3 安裝(1) .安裝相關(guān)依賴包:rootmysql2 opt# yum -y install perl-DBI perl-DBD-MySQL perl-TermReadKey(2) .安裝percona-toolkit可以rpm 方式也可以源代碼編譯我這里用源代碼編譯rootmysql2 opt# tar -xf percona-toolkit-2.2.2.tar.gz rootmysql2 per
3、cona-toolkit-2.2.2# perl Makefile.PLrootmysql2 percona-toolkit-2.2.2# make && make install 四:授權(quán)主機(jī)mysql 上授權(quán)mysql> GRANT SELECT, PROCESS, SUPER, REPLICATION SLAVE ON *.* TO 'opt''38' IDENTIFIED BY '123'Query OK, 0 rows affected (0.03 sec)mysql> flush
4、privileges;Query OK, 0 rows affected (0.00 sec)5 檢測rootmysql2 local# pt-table-checksum h='38',u='opt',p='123',P=3306 -d lisi -nocheck-replication-filters -no-check-binlog-format -replicate=test.wocaoDiffs cannot be detected because no slaves were found. Please re
5、ad the -recursion-method documentation for information. TS ERRORS DIFFS ROWS CHUNKS SKIPPED TIME TABLE07-20T18:41:58 0 0 655360 10 0 4.498 lisi.bookChecksumming lisi.haowutest: 52% 00:27 remainChecksumming lisi.haowutest: 92% 00:04 remain07-20T18:43:05 0 0 7676940 70 0 66.694 lisi.haowutest07-20T18:
6、43:05 0 0 2 1 0 0.118 lisi.j07-20T18:43:05 0 0 2 1 0 0.099 lisi.l07-20T18:43:05 0 0 0 1 0 0.145 lisi.lisi07-20T18:43:05 0 0 3 1 0 0.134 lisi.o07-20T18:43:05 0 0 0 1 0 0.057 lisi.wanger07-20T18:43:06 0 0 7 1 0 0.166 lisi.wanger107-20T18:43:06 0 0 0 1 0 0.144 lisi.ww07-20T18:43:06 0 0 38 1 0 0.171 lis
7、i.yb_account_log07-20T18:43:06 0 0 35 1 0 0.059 lisi.yb_ad07-20T18:43:06 0 0 0 1 0 0.066 lisi.yb_ad_custom07-20T18:43:06 0 0 28 1 0 0.172 lisi.yb_ad_position07-20T18:43:06 0 0 109 1 0 0.076 lisi.yb_admin_action07-20T18:43:06 0 0 9587 1 0 0.182 lisi.yb_admin_log在這里還引申出了一個知識點(diǎn)我本來想在從上刪除lisi.haowutest表的一
8、部分?jǐn)?shù)據(jù) 然后跳過錯誤 再做一次檢查 既然發(fā)現(xiàn)他妹的 slave_skip_errors =1045 沒有用 這是怎么回事呢原來myql 表授權(quán)表變了 rootdbserver1 data# cat 所以我建議mysql數(shù)據(jù)庫還是不要同步的好 省的發(fā)生亂起八糟 不可思議的問題實(shí)驗(yàn)繼續(xù)現(xiàn)在haowu.test表數(shù)據(jù)時不一致的情況下檢測rootmysql2 data# pt-table-checksum h='38',u='opt',p='123',P=3306 -d lisi -nocheck-re
9、plication-filters -no-check-binlog-format -replicate=test.wocao TS ERRORS DIFFS ROWS CHUNKS SKIPPED TIME TABLE07-20T21:04:44 0 0 655360 10 0 7.600 lisi.bookChecksumming lisi.haowutest: 74% 00:10 remain07-20T21:05:28 0 1 7676940 58 0 43.484 lisi.haowutest07-20T21:05:28 0 0 2 1 0 0.069 lisi.j07-20T21:
10、05:28 0 0 2 1 0 0.061 lisi.l07-20T21:05:28 0 0 0 1 0 0.083 lisi.lisi07-20T21:05:28 0 0 3 1 0 0.063 lisi.o07-20T21:05:28 0 0 0 1 0 0.074 lisi.wanger07-20T21:05:28 0 0 7 1 0 0.064 lisi.wanger107-20T21:05:28 0 0 0 1 0 0.063 lisi.ww07-20T21:05:28 0 0 38 1 0 0.070 lisi.yb_account_log07-20T21:05:28 0 0 35
11、 1 0 0.071 lisi.yb_ad07-20T21:05:28 0 0 0 1 0 0.143 lisi.yb_ad_custom07-20T21:05:29 0 0 28 1 0 0.065 lisi.yb_ad_position07-20T21:05:29 0 0 109 1 0 0.039 lisi.yb_admin_action07-20T21:05:29 0 0 9587 1 0 0.375 lisi.yb_admin_log可以看出lisi.haowutest 有記錄數(shù)不一致 上去看看是不是這樣rootmysql2 data# mysql -phaowu123mysql&g
12、t; select count(*) from lisi.haowutest;+-+| count(*) |+-+| 7676940 |+-+1 row in set (10.35 sec)rootdbserver1 data# mysql -phaowu123mysql> select count(1) from lisi.haowutest;+-+| count(1) |+-+| 7676632 |+-+1 row in set (7.22 sec)果然不一致6 修復(fù)rootmysql2 data# pt-table-sync -print -sync-to-master h=192
13、.168.186.140,D=lisi,t=haowutest -uopt -p123 查看下解釋:pt-table-sync -print -sync-to-master h=,D=test,t=test1 -uxxx -p123(其中這個xxx用戶密碼要機(jī)能登錄到master也能登錄到slave,需要的權(quán)限select,super,replication client,process) 修復(fù)從庫上test庫的test表上的數(shù)據(jù) 如果把-print換成-execute則是直接執(zhí)行 建議先用-print保存下看看再-exec
14、ute 這樣看到sql執(zhí)行比較放心可以打開gengral log很容易看到master和slave上執(zhí)行的操作,分別去一段段的數(shù)據(jù)做對比校驗(yàn) ,有不同的立刻用replace into在master去執(zhí)行rootmysql2 data# pt-table-sync -execute -sync-to-master h=40,D=lisi,t=haowutest -uopt -p123 這就是修復(fù)了話雖如此但是要是不行的話 還是在兩邊都授個全部權(quán)限吧mysql> grant all on *.* to we'%' identified b
15、y '123'Query OK, 0 rows affected (0.03 sec)mysql> flush privileges;Query OK, 0 rows affected (0.00 sec)mysql> qByerootmysql2 data# pt-table-sync -execute -sync-to-master h=38,h=40,D=lisi,t=haowutest -uwe -p123OK 至此結(jié)束rootdbserver1 data# mysql -phaowu123mysql>
16、; select count(*) from lisi.haowutest;+-+| count(*) |+-+| 7676940 |+-+1 row in set (7.25 sec)rootmysql2 data# mysql -phaowu123mysql> select count(*) from lisi.haowutest;+-+| count(*) |+-+| 7676940 |+-+1 row in set (7.25 sec)修復(fù)完成7 命令詳解不指定任何參數(shù),會直接對本地的所有數(shù)據(jù)庫的表進(jìn)行檢查。pt-table-checksum S /tmp/mysqld.sock
17、 u=root,p=123456注意:1、 根據(jù)測試,需要一個既能登錄主庫,也能登錄從庫,而且還能同步數(shù)據(jù)庫的賬號;2、 只能指定一個host,必須為主庫的IP;3、 在檢查時會向表加S鎖;4、 運(yùn)行之前需要從庫的同步IO和SQL進(jìn)程是YES狀態(tài)。GRANT SELECT, PROCESS, SUPER, REPLICATION SLAVE ON *.* TO checksumsx.x.x.x IDENTIFIED BY xxxx;執(zhí)行檢測(MASTER上):pt-table-checksum -nocheck-replication-filte
18、rs -replicate=test.checksum -databases=test h=35,u=root,p=123 -empty-replicate-table -create-replicate-table TS ERRORS DIFFS ROWS CHUNKS SKIPPED TIME TABLE09-18T12:03:16 0 1 5 1 0 0.018 test.t1參數(shù)說明:TS :完成檢查的時間。ERRORS
19、 :檢查時候發(fā)生錯誤和警告的數(shù)量。DIFFS :0表示一致,1表示不一致。當(dāng)指定-no-replicate-check時,會一直為0,當(dāng)指定-replicate-check-only會顯示不同的信息。ROWS :表的行數(shù)。CHUNKS :被劃分到表中的塊的數(shù)目。SKIPPED :由于錯誤或警告或過大,則跳過塊的數(shù)目。TIME :執(zhí)行的時間。TABLE
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國樂蚧松行業(yè)市場發(fā)展前景及發(fā)展趨勢與投資戰(zhàn)略研究報告
- 2025年中國無線充電器市場全面調(diào)研及行業(yè)投資潛力預(yù)測報告
- 2025年中國工業(yè)自動控制系統(tǒng)裝置市場前景預(yù)測及投資規(guī)劃研究報告
- 2025年中國城市水域垃圾清理行業(yè)市場發(fā)展前景及發(fā)展趨勢與投資戰(zhàn)略研究報告
- 2023-2028年中國售票系統(tǒng)AFC行業(yè)市場調(diào)查研究及發(fā)展戰(zhàn)略規(guī)劃報告
- 中國辦公系統(tǒng)自動化行業(yè)發(fā)展監(jiān)測及發(fā)展戰(zhàn)略規(guī)劃報告
- 2025年中國曲柳夾板門行業(yè)市場發(fā)展前景及發(fā)展趨勢與投資戰(zhàn)略研究報告
- 陳皮項目投資可行性研究分析報告(2024-2030版)
- 2025年中國GH快速夾具行業(yè)市場發(fā)展前景及發(fā)展趨勢與投資戰(zhàn)略研究報告
- 卡通項鏈行業(yè)深度研究分析報告(2024-2030版)
- 康復(fù)治療師考試知識點(diǎn)匯總
- 2023年北京市農(nóng)林科學(xué)院事業(yè)單位招聘(共500題含答案解析)筆試歷年難、易錯考點(diǎn)試題含答案附詳解
- 尿崩癥診療規(guī)范內(nèi)科學(xué)診療規(guī)范診療指南2023版
- 3D打印實(shí)訓(xùn)指導(dǎo)書
- 除草機(jī)器人簡介
- 當(dāng)代文學(xué)第一章1949-1966年的文學(xué)思潮
- a320飛機(jī)空調(diào)系統(tǒng)工作原理與使用維護(hù)分析
- 施工機(jī)具進(jìn)場檢查驗(yàn)收記錄
- 《液壓與氣動技術(shù)項目教程》高職配套教學(xué)課件
- 2022年七步洗手法操作考核評分標(biāo)準(zhǔn)
- 過敏性紫癜的護(hù)理PPT課件(PPT 33頁)
評論
0/150
提交評論