下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、從庫my sq Idum p會導致復制中斷環(huán)境數(shù)據(jù)庫版本:主從架構(gòu):一主兩從搭配mha操作步驟,開發(fā)要求truncate一張表,在刪除之前需要備份下數(shù)據(jù); .在從庫上使用mysqldump命令做邏輯備份,備份sql :mysqldump -uXXX -p osdc osdc_XXX /tmp/osdc_info.sql;.這臺從庫與主庫的同步出現(xiàn)中斷,報錯為:SlAve_IO_Running: Yes SlAve_SQL_Running: No Last_Errno: 1756Last_Error: . . . The slAve coordinAtor And worker thrAds A
2、re stoppdERROR NO 是1756,而且只是 Slave_SQL_Running 停了。處理方式.停止同步:stop slAve;.翻開同步:stArt sIav;重新啟停同步服務后,恢復正常。分析_之前形形色色的主從問題遇到過很多,但是1756這個錯誤還是第一次遇到,所以事后還是很 有興趣去深入分析下這個問題。.詳細報錯查看數(shù)據(jù)庫的error log,這個報錯的具體輸出如下:2020-08-18 22:04:19 208840 WArning SlAve SQL: Worker 2 fAiled executin ; Could not execute UpdAte_rows e
3、vent on tAble osdc.osdc_XXX; Lock wAit mAstr log mysql-bin.003536, end_log_pos 861741231r Error_code: 12052020-08-18 22:04:19 208840 Note Worker 2 is exiting: killd 0, error 12020-08-18 22:04:19 208840 ERROR SlAve SQL: . The slAve coordinAtoromAticAlly, Although using non-trAnsActionAl storAge for d
4、Ata or info ta s). Error code: 1756錯誤日志里有個Lock wait timeout exceeded,這個我們先記下,稍后再說。先找至master事務的gtid,直接去主庫的binlog里找下這個gtid所對應的sql :SET SESSION.GTID_NEXT= 1fe0ed3ca-cacc-11e9-8d49-6c92bfcf73b6:137762972# At 861740635#200818 21:58:42 server id 31 end_log_pos 861740715 CRC32 0 xA9Ab0dd2 SET TIMESTAMP=15
5、97 7 5 9122/* ! * / ;BEGIN/*!*/;# At 861740715#200818 21:58:42 server id 31 end_log_pos 861740840 CRC32 0 xbd8bA613updAte osdc_XXXset modif y_time=now () ,stAtus= *04*where id=92 98XXXXX And stAtus=1011可以看到,這時候主庫對osdc_XXX表進行了 update操作。2 .問題分析,首先,mysqldump不加任何參數(shù)去執(zhí)行,會對備份的表加表級鎖。.這時候從庫需要執(zhí)行從主庫同步過來的update
6、語句,因為mysqldump表鎖的存在,該 語句會處理等待狀態(tài)。.update等待超時,這個錯誤我們在上面的error log里可以看到(Lock wait timeout exceeded)。.因為在版本下在使用MTS的情況下,slave_transaction_retries是不生效的。 所以當update語句超時后,它沒有重試機制,導致整個SQL threads都停掉了(這也 就是為什么 Slave_IO_Running 顯示YES,而 Slave_SQL_Running 顯示NO )。在rpl_slave.cc里可以看到:/* MTS tchnicAl 1imitAtion no su
7、pport of trAns rtry */i f (mi-rli-opt_slAve_pArAllel_workers != 0 & & slAve_trAns_retries != 0這個 bug 很早就由 Yoshinori Matsunobu 提在 ? id=68465 了 官方也采納了,并于修復掉了該問題。Yoshinori Matsunobu就是大名鼎鼎的MHA的作者!.問題復現(xiàn)相關參數(shù)slave_parallel_workers : 3 TOC o 1-5 h z rootlocAlhost(nona) show vAriAbles like 1_pArAllel_work +I
8、 VAriAble_nAme| VAlue |+-f-| slAvepArAllel workers| 5|+innodb_lock_wait_timeout : 50rootlocAlhost (none) show vAriAbles like , %innodb_lock_wAit_tim TOC o 1-5 h z +I VAriAbl_nAmI VaIu |+ HYPERLINK l bookmark26 o Current Document I innodb_lock_wAit_timeout | 50|+slave_transaction_retries : 10rootlocA
9、lhostnone show vAriAbles like 1%slAve_trAnsAction_retr+4-|VAriAble_nAme|VAlue |+ HYPERLINK l bookmark28 o Current Document IsIavrAnsAction_rtries |10|+測試數(shù)據(jù):rootlocAlhost bug select * from rpl_tst;+I id|info|+I1 | tom |I2 | j erry |+從庫加鎖操作從庫:rootlocAlhost bug begin;updAte repl_test st info=1 Al1 ,;Qu
10、ery OK, 0 rows Affected(0.00 sec)(0.01 sec)Rows mAtched: 2ChAnged: 2 WArnings: 0Query OK, 2 rows Affected顯性開啟事務,讓它持續(xù)持有InnoDB lock主庫更新操作主庫:rootlocAlhost bugupdAte repl test set info=1 All * where id=l;commitQuery OK, 1 row Affected (0.00 sec)Rows mAtched: 1 ChAnged: 1 WArnings: 0Query OK, 0 rows Affe
11、cted (0.00 sec)手工更新repl_test表的一條數(shù)據(jù),此時從庫的復制線程會等待這條sql的應用,并處于 system lock 狀態(tài): 從庫:rootIocaIhost (none) show processlist;+-1JId1, 4-User+1+Host_i_+db|_1_+CommAnd |_1_一+Time | _1.StAt 1161vnt_.scheduler |locAlhostNULL |DAemon |545 |WAiting on191root1locAlhostbug |Sleep|10 |1151systemuser1NULL |Connect I4
12、4 |WAiting for1161systemuser1NULL |Connect |5 |SlAve hAs r1171systemuser1NULL |Connect I44 |WAiting for1181systemuser1NULL |Connect I44 |WAiting for1191systemuser1NULL |Connect |5 |System lock1201root1locAlhostNULL |Query|0 |init+8 rows in set (0.04 sec)errorlog錯誤日志開始打印錯誤信息:2020-08-20 11: 01:00 2239
13、12020-08-20 11:01:00 223912020-08-20 11:01:0022391WArning SlAve SQL: ERROR SlAVe SQL:. Note Error rAdingWorker 2 fAild xcuting , The slAve coordinAtor a rlAy log vnt: sIav SQ報的錯與當時的內(nèi)容一致。.總結(jié).mysqldump即使在從庫中執(zhí)行,也必須加上-single-transcation等參數(shù),直接執(zhí)行會上 表鎖,本錢大大。.局部mysql工具,如navicat直接使用它自帶的導出功能,也會鎖住全表。所以盡量不要 使用I具去處理導出工作。mysql show open tAbles where in_use 0 ; TOC o 1-5 h
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030全球滑靴式分揀系統(tǒng)行業(yè)調(diào)研及趨勢分析報告
- 2025-2030全球民用航空機翼行業(yè)調(diào)研及趨勢分析報告
- 為他人貸款合同擔保
- 叉車購銷合同模板
- 2025物料購置合同管理操作規(guī)程
- 學校商鋪租賃合同范本
- 提高組織和協(xié)調(diào)能力的培訓
- 施工設計合同
- 商鋪租賃合同范本簡單
- 人才招聘中介服務合同模板
- 學校財務年終工作總結(jié)4
- 2025年人民教育出版社有限公司招聘筆試參考題庫含答案解析
- 康復醫(yī)學治療技術(士)復習題及答案
- 《血管性血友病》課件
- 2024-2025學年人教版七年級數(shù)學上冊期末達標測試卷(含答案)
- 2024年安全員-C證考試題庫及答案(1000題)
- 高二數(shù)學下學期教學計劃
- 文學類作品閱讀練習-2023年中考語文考前專項練習(浙江紹興)(含解析)
- 第五章硅酸鹽分析
- 外科學總論-第十四章腫瘤
- 網(wǎng)絡反詐知識競賽參考題庫100題(含答案)
評論
0/150
提交評論