国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

MySQL主從服務(wù)器數(shù)據(jù)一致性的核對與修復(fù)

運維 系統(tǒng)運維
當(dāng)遇到MySQL主從服務(wù)器數(shù)據(jù)一致性問題時,該怎么解決呢?本文記錄了類似問題的解決方法,希望能給朋友們帶來幫助,遇到此類問題時,不會手忙腳亂。

  我上一次遇到MySQL主從服務(wù)器數(shù)據(jù)一致性問題,想想是幾年前的事情了,還依稀記得當(dāng)時驚慌失措的情景,好在最后借助Maatkit解決了問題。幾年后,當(dāng)我再次面對同樣的問題時,Maatkit已經(jīng)不復(fù)存在,轉(zhuǎn)而成為了Percona Toolkit的一部分,不變的是我依舊手忙腳亂,所以還是記錄一下吧,保不準(zhǔn)啥時候又會遇到這個問題。

  如果你在MySQL從服務(wù)器上遇到類似下面的錯誤信息,那么恭喜你中招了:

  1. mysql> SHOW SLAVE STATUS\G 
  2. Last_Error: Error 'Duplicate entry '...' for key ...' on query. 

  為啥會出現(xiàn)唯一索引鍵值重復(fù)?最大的可能是錯誤的對從服務(wù)器做了寫操作!出現(xiàn)此類錯誤的時候,很多人會用sql_slave_skip_counter操作跳過錯誤,甚至有人寫了腳本,如果有多個錯誤,就循環(huán)多次執(zhí)行sql_slave_skip_counter:

  1. mysql> SET GLOBAL sql_slave_skip_counter = 1
  2. mysql> START SLAVE; 

  可惜,即便sql_slave_skip_counter操作能夠暫時讓主從恢復(fù)工作,但多半數(shù)據(jù)一致性已經(jīng)被破壞的更嚴(yán)重了,早晚有一天被掩蓋的問題會再次爆發(fā)出來。

  Percona Toolkit里的pt-table-checksum和pt-table-sync可以搞定此類問題。它們的安裝很簡單,可以依照自己的操作系統(tǒng)選擇下載rpm或者deb軟件包來安裝,當(dāng)然也可以使用源代碼來安裝,不過要注意的是,必須確保系統(tǒng)已經(jīng)安裝了依賴的Perl軟件包:

  1. shell> perl -MCPAN -e 'install DBI' 
  2. shell> perl -MCPAN -e 'install DBD::mysql' 
  3. shell> perl -MCPAN -e 'install Term::ReadKey' 

  順便說一下,我在安裝某些Perl模塊的時候,出現(xiàn)類似下面的錯誤提示:

  1. Can’t locate object method “install” via package “…” 

  如果你也遇到了類似的問題,可以進(jìn)入到Perl命令行安裝:

  1. shell> perl -MCPAN -e shell 
  2. cpan> install ... 

  安裝Percona Toolkit的剩余步驟就是Perl軟件的固定打法了:

  1. shell> perl Makefile.PL 
  2. shell> make 
  3. shell> make install 

  前戲進(jìn)行到這里應(yīng)該可以了,下面讓我們直搗黃龍,看看如何解決問題:

  MySQL主從服務(wù)器數(shù)據(jù)一致性的核對

  通過在主服務(wù)器上運行pt-table-checksum,它會通過一系列的MySQL函數(shù)計算每個表的散列值,利用主從復(fù)制關(guān)系,把同樣的計算過程在從服務(wù)器上重放,從而就拿到了主從服務(wù)器各自的散列值,只要比較散列值是否相同就OK了。

  這里面有兩點需要說明:

  計算表的散列值時,pt-table-checksum并不是直接計算整個表的散列值,而是分塊計算,這樣就避免了造成從服務(wù)器長時間的延遲。

  因為通過MySQL函數(shù)計算散列的過程需要在從服務(wù)器上重放,所以主從復(fù)制的格式必須是基于STATEMENT的,不能是基于ROW的。

  實際操作時的命令大致如下:

  1. shell> pt-table-checksum \ 
  2. --replicate=percona.checksums \ 
  3. --host=<MASTER_HOST> \ 
  4. --user=<MASTER_USER> \ 
  5. --password=<MASTER_PASSWORD> 

  說明:replicate選項指定了結(jié)果保存到哪個庫和表中,如果你愿意,可以手動查詢:

  1. SELECT db, tbl, SUM(this_cnt) AS total_rows, COUNT(*) AS chunks 
  2. FROM percona.checksums 
  3. WHERE ( 
  4. master_cnt <> this_cnt 
  5. OR master_crc <> this_crc 
  6. OR ISNULL(master_crc) <> ISNULL(this_crc)) 
  7. GROUP BY db, tbl; 

  BTW:多數(shù)情況下,只要比較「master_crc <> this_crc」就可以了。

  MySQL主從服務(wù)器數(shù)據(jù)一致性的修復(fù)

  通過在主服務(wù)器上運行pt-table-sync,它會重建數(shù)據(jù),數(shù)據(jù)通過復(fù)制從主服務(wù)器同步到從服務(wù)器,從而修復(fù)了一致性,在操作過程中,可以利用pt-table-checksum的結(jié)果。

  1. shell> pt-table-sync \ 
  2. --execute \ 
  3. --replicate=percona.checksums \ 
  4. --charset=<CHARSET> \ 
  5. --host=<MASTER_HOST> \ 
  6. --user=<MASTER_USER> \ 
  7. --password=<MASTER_PASSWORD> 

  說明:因為pt-table-sync會重建數(shù)據(jù),所以有一定的風(fēng)險,最好提前備份好數(shù)據(jù)。如果仍然不放心,可以使用它提供的「print」選項,它會打印出相應(yīng)的SQL,你可以審查一下到底執(zhí)行了那些操作,然后通過手動執(zhí)行來完成同步。

  本文例子中,我們?yōu)榱朔奖悖谶\行Percona Toolkit命令的時候直接鍵入了密碼等敏感信息,這在很多時候是不安全的,比如說別人可以通過查看命令歷史拿到密碼。還好我們有「ask-pass」選項可以解決此類問題,實際上我們還可以更進(jìn)一步,直接把密碼等敏感信息保存到配置文件中,最容易想到的配置文件是「~/.my.cnf」,此外,還有幾個更官方的配置文件可供選擇,我們可以在源代碼里看到它們的蹤影:

  1. default_files => [ 
  2. "/etc/percona-toolkit/percona-toolkit.conf", 
  3. "/etc/percona-toolkit/$program_name.conf", 
  4. "$home/.percona-toolkit.conf", 
  5. "$home/.$program_name.conf", 
  6. … 

  俗話說:不怕賊偷,就怕賊惦記著??创龁栴}的態(tài)度亦是如此:不怕出問題,就怕問題潛伏在暗處窺視著你,而你卻一無所知。大家沒事兒的時候多查查主從一致性吧。

責(zé)任編輯:黃丹 來源: 火丁筆記
相關(guān)推薦

2024-08-20 16:13:52

2023-12-01 13:51:21

數(shù)據(jù)一致性數(shù)據(jù)庫

2009-06-18 09:18:08

Oracle檢索數(shù)據(jù)數(shù)據(jù)一致性事務(wù)恢復(fù)

2019-01-15 17:58:03

微服務(wù)架構(gòu)數(shù)據(jù)

2023-11-22 12:55:59

微服務(wù)架構(gòu)數(shù)據(jù)庫

2019-12-17 08:40:33

微服務(wù)架構(gòu)數(shù)據(jù)

2025-03-27 08:20:54

2021-12-14 07:15:57

MySQLRedis數(shù)據(jù)

2023-05-26 07:34:50

RedisMySQL緩存

2022-02-17 21:04:27

數(shù)據(jù)庫MysqlRedis

2022-09-15 10:37:46

MySQLRedis數(shù)據(jù)一致性

2024-12-26 15:01:29

2019-11-21 10:19:45

數(shù)據(jù)應(yīng)用場景系統(tǒng)

2021-11-01 21:15:54

微服務(wù)系統(tǒng)數(shù)據(jù)

2023-09-24 14:35:43

Redis數(shù)據(jù)庫

2024-12-19 21:09:38

2021-12-05 21:06:27

軟件

2023-09-07 08:11:24

Redis管道機(jī)制

2023-12-27 14:23:10

微服務(wù)數(shù)據(jù)存儲

2021-10-18 10:30:59

流計算阿里云
點贊
收藏

51CTO技術(shù)棧公眾號

国产精品久久国产三级国电话系列 | 精品人人人人| 国产免费av一区二区三区| 日韩中文字幕无砖| av中文字幕一区二区| 欧美一区午夜视频在线观看| 五月婷婷综合色| 日韩欧美影院| 社区色欧美激情 | aiai在线| 欧美视频一二三| 妞干网在线播放| 中文乱码字幕高清在线观看| 国自产拍偷拍福利精品免费一| 久久久黄色av| 白白色在线观看| 国产一区啦啦啦在线观看| 91在线播放国产| 免费精品国产| 国产精品日韩欧美综合| 综合久久2019| 亚洲精品中文字幕乱码三区| www.99在线| 国产一区二区女| 韩日视频在线观看| 99久久99久久精品国产片果冻 | 国产剧情在线| 欧美国产一区在线| 久久精品影视大全| 欧美丰满日韩| 久久久精品中文字幕| 国产精品久久免费视频| 欧美日韩亚洲高清一区二区| www.黄在线观看| 亚洲情综合五月天| 日韩精品免费一区二区三区竹菊| 中文字幕亚洲天堂| 国产精品igao视频网网址不卡日韩 | 午夜精品视频在线观看一区二区| 欧美一区三区| 亚洲综合首页| 免费成人在线观看| 日韩美女主播在线视频一区二区三区| 国产精品一区专区| 日日碰狠狠丁香久燥| 亚洲婷婷综合久久一本伊一区| 日本一区高清| 亚洲影院在线观看| 美女写真理伦片在线看| 爱福利视频一区| 午夜国产精品视频| 青青草精品视频在线| 精品高清美女精品国产区| 自由日本语热亚洲人| 久久精品国产精品亚洲| 黄色成人小视频| 精品国产91亚洲一区二区三区www| 久久99精品久久久久久国产越南| www.涩涩涩| 欧美一区二区三区视频免费 | 欧美日韩成人在线一区| 高清毛片在线看| 91精品久久久久久久91蜜桃| 国产欧美一区| 欧美v在线观看| 亚洲成人1234| 亚洲综合色网| 一区二区三区不卡在线视频| 色婷婷综合久色| 免费成人av电影| 日韩一区二区三区免费看| 青青在线视频| 久久综合九色综合久99| 欧美日韩在线视频首页| 成人国产精品一区二区免费麻豆| 成人国产精品一区二区| 国产网站一区二区三区| 欧美h版在线观看| 熟女性饥渴一区二区三区| 中文字幕日韩高清| 国产激情综合| 成人免费黄色网址| 欧美体内she精视频| 色8久久影院午夜场| 亚洲午夜精品久久久久久浪潮| 欧美一二区视频| 韩国一区二区在线观看| eeuss在线播放| 亚洲国产精品人久久电影| 日韩国产精品91| 中文在线а√天堂| xxxx18hd亚洲hd捆绑| 日韩欧美在线不卡| 首页国产精品| 国产高清一区在线观看| 国产精品男人爽免费视频1| 一区二区三区在线播| 免费永久网站黄欧美| 99免费视频观看| 99精品视频中文字幕| 99色在线视频| www.日韩不卡电影av| 精品久久sese| 亚洲天堂成人在线观看| 亚洲性视频大全| 精品丝袜一区二区三区| 成人豆花视频| 992tv在线| 青青久久aⅴ北条麻妃| 亚洲五码中文字幕| 国产亚洲精品自拍| 色天堂在线视频| 麻豆成人av| 色99之美女主播在线视频| 亚洲在线观看免费| 欧美日韩另类图片| 日韩毛片久久久| 99热在线这里只有精品| 久久成人综合视频| 精品视频在线视频| 久久久久国产精品厨房| 亚洲91中文字幕无线码三区| 黄色大片在线| 日本在线视频1区| 亚洲熟女乱色一区二区三区| 亚洲字幕一区二区| 欧美日韩高清在线观看| 成人免费一区二区三区视频| 媚黑女一区二区| 日韩一区欧美| 日本一区二区三区中文字幕| 九色在线观看| av在线天天| 日本精品免费在线观看| 台湾成人av| 97成人精品区在线播放| 亚洲人成在线观看| 精品国产不卡一区二区三区| 午夜精品aaa| 国产色91在线| av男人天堂一区| 成人av网址在线观看| 日韩激情在线观看| 精品69视频一区二区三区Q| 欧美日韩伦理| 国产一区日韩| 在线观看欧美理论a影院| 在线一区视频观看| 亚州欧美在线| 日本精品在线| 国产成人亚洲综合a∨婷婷| 亚洲精品中文字幕乱码| 精品影片在线观看的网站| 红杏一区二区三区| 欧美黄色网视频| 成人在线免费小视频| 久久综合国产| 激情综合激情| 韩国成人精品a∨在线观看| 日本免费在线视频不卡一不卡二 | 免费在线观看黄色| 你懂的在线播放| 后进极品白嫩翘臀在线播放| 免费看男女www网站入口在线| 99精品在免费线偷拍| 91成人app| 免费成人av| 久久精品国产在热久久| 黄色精品免费| 成人精品免费看| 一区二区三区久久久| 欧美亚洲综合在线| 色老头一区二区三区| www.欧美精品一二三区| 亚洲精品一区二区在线| 日韩一区视频在线| 国产精品福利网| 中文字幕在线乱| 自拍亚洲欧美老师丝袜| 日本视频一二三区中文字幕| 久久小说免费下载| 两个人看的在线视频www| 成人在线超碰| 68国产成人综合久久精品| 国产一区二区在线免费观看| 尤物在线观看一区| 俺也去精品视频在线观看| 91九色国产视频| 成人免费黄色网址| 欧洲成人在线视频| 51色欧美片视频在线观看| 精品国产乱码久久久久久108| 一女二男3p波多野结衣| 国产精品天堂蜜av在线播放| 三区四区不卡| 中文在线免费一区三区高中清不卡| 欧美中文字幕一区二区三区亚洲| 日韩免费视频一区二区| 欧美做受高潮1| 丁香花高清电影在线观看完整版|