国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Mysql數據庫鎖情況下開啟備份導致數據庫無法訪問處理分享

IT那活兒 / 2216人閱讀
Mysql數據庫鎖情況下開啟備份導致數據庫無法訪問處理分享
[
背景簡介
]

MySQL是一種開放源代碼的關系型數據庫管理系統(RDBMS),因為其速度、可靠性和適應性而備受關注。大多數人都認為在不需要事務化處理的情況下,MySQL是管理內容最好的選擇。mysql雖然功能未必很強大,但因為它的開源、廣泛傳播,導致很多人都了解到這個數據庫。故障基本都能通過社區和官方文檔獲取解決方案,在應用范圍上也是很廣的,互聯網公司基本都有使用mysql。本章主要針對mysql5.7.25的鎖表故障進行分析處理。

[
分析過程
]

1、首先接到業務反饋數據庫完全無法寫入數據了,后查看數據庫監控發現指標正常;


2、登陸數據庫主機核實主機資源正常:


3、通過showprocesslist查看當前連接,發現300左右的連接基本全是waitingfor global read lock和少部分waitingfor stored function metadata lock以及FLUSHTABLES WITH READ LOCK,如下所示


4、通過showOPEN TABLES where In_use > 0查看當前被鎖表xx_test,


5、通過查看當前事務發現只有兩個事務;


6、通過查看當前正在鎖事務和等待鎖事務,發現并沒有記錄有正在鎖事務和等待鎖事務


7、通過查看當前事務確認到目前只有兩個事務在運行,其它都是都在等待,且無等待鎖表及正在鎖表。


8、發現備份賬號FLUSHTABLES WITH READ LOCK關閉所有打開的表并使用全局讀鎖鎖定所有數據庫的所有表,所以業務查詢沒有問題。


9、猜想應該是因為xx_test的鎖表阻塞了FLUSHTABLES WITH READ LOCK執行,導致整個數據庫完全無法修改。


[
驗證過程
]
  1. 首先通過processlist輸出看到鎖表xx_test連接有3個等待該表的鎖,其它并沒有該表請求連接,先將這三個等待的select連接kill。

  2. 然后將當前正在執行的兩個事務kill。

  3. 觀察數據庫發現FLUSH TABLES WITH READ LOCK結束,其它等待事務都開始執行,數據庫恢復正常。

[
總結
]

數據庫觸發FLUSHTABLES WITH READLOCK應該是有業務方在備份,單純的表被鎖了一般情況下也只會影響鎖表的寫,但是在鎖表情況的備份觸發FLUSHTABLES WITH READ LOCK,就可能導致整個庫變成只讀,建議備份工作都放在晚上閑時。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/130124.html

相關文章

  • SegmentFault 技術周刊 Vol.42 - MySQL:從刪庫到跑路

    摘要:肖鵬微博數據庫那些事兒肖鵬,微博研發中心技術經理,主要負責微博數據庫相關的業務保障性能優化架構設計,以及周邊的自動化系統建設。經歷了微博數據庫各個階段的架構改造,包括服務保障及體系建設微博多機房部署微博平臺化改造等項目。 showImg(https://segmentfault.com/img/bV24Gs?w=900&h=385); 對于手握數據庫的開發人員來說,沒有誤刪過庫的人生是...

    aboutU 評論0 收藏0
  • 據庫MySQL機制、熱備、分表

    摘要:雙機熱備和備份的區別熱備份指的是即高可用,而備份指的是即數據備份的一種,這是兩種不同的概念,應對的產品也是兩種功能上完全不同的產品。雙機熱備分類按工作中的切換方式分為主備方式方式和雙主機方式方式。 歡迎關注公眾號:【愛編碼】如果有需要后臺回復2019贈送1T的學習資料哦!! showImg(https://segmentfault.com/img/remote/146000001900...

    Meils 評論0 收藏0

發表評論

0條評論

IT那活兒

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<