bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

使用pt-table-checksum工具對主從數據的一致性進行校驗-創新互聯

本文主要給大家簡單講講使用pt-table-checksum工具對主從數據的一致性進行校驗,相關專業術語大家可以上網查查或者找一些相關書籍補充一下,這里就不涉獵了,我們就直奔主題吧,希望使用pt-table-checksum工具對主從數據的一致性進行校驗這篇文章可以給大家帶來一些實際幫助。

成都創新互聯公司堅持“要么做到,要么別承諾”的工作理念,服務領域包括:成都網站建設、網站制作、企業官網、英文網站、手機端網站、網站推廣等服務,滿足客戶于互聯網時代的巴林左旗網站設計、移動媒體設計的需求,幫助企業找到有效的互聯網解決方案。努力成為您成熟可靠的網絡建設合作伙伴!

背景描述:

因為主從復制導致主從數據不一致,所以使用pt-table-checksum工具來進行主從數據的一致性校驗,用pt-table-sync工具將差異數據補齊,以下是使用工具時的流程、遇到的問題及解決方法,以期大限度的模擬線上環境

環境:

backup為master主機(192.168.32.3),mydb為slave主機(192.168.32.2)

backup為3316端口,mydb為3306端口

binlog_format = ROW

pt-table-checksum 3.0.10 版本(percona-toolkit請自行安裝)

準備工作:

1、安裝依賴包:

[root@backup ~]#yum -y install perl perl-devel libaio libaio-devel perl-Time-HiRes perl-DBD-MySQL perl-IO-Socket-SSL

2、創建用戶:

創建一個對bakup、mydb主機都有權限的非root用戶,來進行數據查看、恢復操作,目的嘛,為了安全唄,注意:這個用戶一定要相同,相同,相同!為了控制權限,可以只在各自的主機上授權

backup主機:

GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, PROCESS, SUPER, REPLICATION SLAVE ON *.* TO 'monitor'@'127.0.0.1' IDENTIFIED BY '123456';

mydb主機:

GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, PROCESS, SUPER, REPLICATION SLAVE ON *.* TO 'monitor'@'192.168.32.3' IDENTIFIED BY '123456';

工具用法:

[root@backup ~]# pt-table-checksum --help

Usage: pt-table-checksum [OPTIONS] [DSN] 這里注意一下:DSN連接的是主庫的地址,這里指的是backup的地址

工具使用規則:

1、被檢測的表需要有主鍵(唯一索引),因為這是pt-table-checksum的工作原理

2、從庫的IO、SQL進程要為YES狀態,因為從庫要同步主庫的checksum信息

3、執行校驗時的DSN為主庫地址

4、校驗時會加S鎖

5、確保主庫、從庫使用相同的賬號

執行檢驗(backup主機上執行):

[root@backup ~]#pt-table-checksum --nocheck-replication-filters --databases=bailidb h=127.0.0.1,u=monitor,p='123456',P=3316 --replicate-check-only

Checking if all tables can be checksummed ...

Starting checksum ...

Cannot connect to P=3306,h=,p=...,u=monitor

Diffs cannot be detected because no slaves were found. Please read the --recursion-method documentation for information

報錯原因:

主庫連接不到從庫,需要配置從庫

report_host=192.168.32.2

report_port=3306

當然了,因為report_host、report_port是read only變量,所以,需要重啟數據庫

再次執行校驗:

[root@backup ~]# pt-table-checksum --nocheck-replication-filters --databases=bailidb h=127.0.0.1,u=monitor,p='123456',P=3316 --replicate-check-only

Checking if all tables can be checksummed ...

Starting checksum ...

Replica mydb has binlog_format ROW which could cause pt-table-checksum to break replication. Please read "Replicas using row-based replication" in the LIMITATIONS section of the tool's documentation. If you understand the risks, specify --no-check-binlog-format to disable this check

報錯原因:

如果是基于行的復制環境(即binlog_format=row),percona官方是不建議使用pt-table-checksum工具來進行數據的一致性檢查的,但它又提供了一個選項來跳過此檢查,--no-check-binlog-format

再次執行校驗:

打印出所有的校驗信息:(可以保存到文件做后期的處理)

[root@backup ~]#pt-table-checksum --nocheck-replication-filters --no-check-binlog-format --databases=bailidb h=127.0.0.1,u=monitor,p='123456',P=3316 > [chayi.txt]

只打印有差異數據的校驗信息:

[root@backup ~]#pt-table-checksum --nocheck-replication-filters --no-check-binlog-format --databases=bailidb h=127.0.0.1,u=monitor,p='123456',P=3316 --replicate-check-only > [chayi.txt]

將校驗數據寫入到數據表中:

[root@backup ~]#pt-table-checksum --nocheck-replication-filters --no-check-binlog-format --replicate=test.checksums --databases=bailidb h=127.0.0.1,u=monitor,p='123456',P=3316 [--recursion-method=hosts/--recursion-method=processlist]

--nocheck-replication-filters 不檢查復制過濾器,此參數經常和--databases參數配合使用,對單個庫進行校驗

--no-check-binlog-format 不檢查復制的二進制日志文件格式,如果你的binlog_format=row,則要開啟此參數,否則報錯

--replicate=test.checksums 將校驗的信息寫入到test庫的checksums表中,如果這個表沒有的話,會自動創建,且master、slave主機都會有

--databases 指定檢驗的數據庫,多個用 "," 隔開

--replicate-check-only 只顯示有不一致數據的信息

--recursion-method=hosts 如果使用pt-table-checksum校驗的時候,報錯信息出現"no slaves were found",需要使用此參數

h 主庫ip

u 主庫、從庫共同的那個用戶名

p 主庫、從庫共同的那個用戶密碼

P 主庫端口號,這里主庫是3316端口

特別注意:

--replicate-check-only、--recursion-method=hosts 此類的參數,使用的時候是有順序的要求的,必須在pt-table-checksum使用的DSN之后!

[root@backup ~]# pt-table-checksum --help

Options and values after processing arguments

校驗結果介紹:

Checking if all tables can be checksummed ...

Starting checksum ...

      TS        ERRORS     DIFFS   ROWS    DIFF_ROWS CHUNKS SKIPPED  TIME     TABLE

06-20T11:58:16       0       0        69         0                1        0          0.298     bailidb.bl_admin

06-20T11:58:18       0       1        13         0                1        0          0.022     bailidb.bl_block

TS:完成檢查的時間

ERRORS:檢查時候發生錯誤和警告的數量

DIFFS:最重要的一列,顯示校驗結果是否一致,0表示一致,1表示不一致

ROWS:表的行數,這里的指的是master主機的

CHUNKS:被劃分到表中的塊的數目

SKIPPED:由于錯誤或警告或過大,則跳過塊的數目

TIME:執行校驗的時間

TABLE:被校驗的標明

使用pt-table-sync工具查看差異數據的詳細信息:

[root@backup ~]#pt-table-sync --replicate=test.checksums h=127.0.0.1,u=monitor,P=3316 --ask-pass h=192.168.32.2,u=monitor,P=3306 --ask-pass --charset=utf8 --print

Enter password for 127.0.0.1:

Enter password for 192.168.32.2:

也可以只查看其中一張表的信息:

[root@backup ~]# pt-table-sync --replicate=test.checksums --tables=bl_major h=127.0.0.1,u=monitor,P=3316 --ask-pass h=192.168.32.2,u=monitor,P=3306 --ask-pass --charset=utf8 --print

Enter password for 127.0.0.1:

Enter password for 192.168.32.2:

注意:

為了大限度的保障線上數據庫的安全性,所以,我們每做一步都要考慮線上的實際應用環境,盡量做到:能不重啟數據庫就不重啟,能不明文輸密碼,就不明文,一句話,為了安全,為了安全,為了安全

執行差異數據同步:

[root@backup ~]#pt-table-sync --replicate=test.checksums h=127.0.0.1,u=monitor,P=3316 --ask-pass h=192.168.32.2,u=monitor,P=3306 --ask-pass --execute

[root@iZ2ze1wy2vjnk07k06p7s5Z ~]# pt-table-checksum --nocheck-replication-filters --no-check-binlog-format --databases=bailitop h=127.0.0.1,u=monitor,P=3316 --ask-pass

Can't locate Term/ReadKey.pm

yum -y install perl-TermReadKey

使用pt-table-checksum工具對主從數據的一致性進行校驗就先給大家講到這里,對于其它相關問題大家想要了解的可以持續關注我們的行業資訊。我們的板塊內容每天都會捕捉一些行業新聞及專業知識分享給大家的。

另外有需要云服務器可以了解下創新互聯cdcxhl.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

新聞標題:使用pt-table-checksum工具對主從數據的一致性進行校驗-創新互聯
本文URL:http://vcdvsql.cn/article30/ddhdso.html

成都網站建設公司_創新互聯,為您提供小程序開發網站設計手機網站建設標簽優化電子商務網站改版

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

綿陽服務器托管