故障的機器修好后重啟,狂拉主庫binlog,導致網(wǎng)絡問題的解決方法
更新時間:2016年04月23日 10:58:48 作者:張正
本文主要記錄一次簡單的、典型的故障,發(fā)生問題的原因很簡單,這個問題發(fā)生也很簡單,各位同學一定要注意,一不留神就會對主庫造成影響
問題簡述:
一周前,有一臺mysql服務器發(fā)生硬件故障,停機了。我們給專門負責這塊的同學提交了申請,他們負責去報修這臺服務器。今天這臺服務器修好后,他們將其開機啟動。服務器上的4個mysql實例在開機后自動啟動,開始拉主庫的binlog。由于這臺服務器停機時間比較久,日志丟的比較多,狂拉主庫的binlog,導致主庫網(wǎng)絡出現(xiàn)問題。
現(xiàn)象:
首先,我們完全沒有意識到是因為一臺壞掉的服務器重啟拉主庫binlog導致的,因為我們壓根不知道 這臺服務器什么情況,只知道1周前,我們報修了1臺服務器。具體什么情況,有沒有修好,有沒有開機,我們完全不知道。
首先,我們完全沒有意識到是因為一臺壞掉的服務器重啟拉主庫binlog導致的,因為我們壓根不知道 這臺服務器什么情況,只知道1周前,我們報修了1臺服務器。具體什么情況,有沒有修好,有沒有開機,我們完全不知道。
在這樣的情況下,忽然聽到網(wǎng)絡的同學說mysql有一臺機器網(wǎng)絡流量過大,導致業(yè)務感覺很慢,總共持續(xù)了17分鐘。其實這樣,是沒有多大頭緒的。
排查:
查看processlist、全日志、慢日志都沒有發(fā)現(xiàn)有什么問題。
查看監(jiān)控,發(fā)現(xiàn)那段時間的服務器的讀IO驟然升高。
通過查看processlist的歷史記錄,發(fā)現(xiàn)有一段時間,主從復制的用戶 狀態(tài)是 waiting for net,通過其IP發(fā)現(xiàn)該服務器是1周前壞掉的一個slave服務器。
結論:
這臺服務器上有4個實例,服務器啟動后,mysql實例自動啟動,開始向主庫上拉binlog,每個主庫每天的binlog量大概6G,4個實例1個星期大概160多G的binlog。
問題:
1、壞掉的服務器什么時候修好,什么時候開機,我們不可控,也不知道,也沒有關注
2、這種案例其實是很簡單、很典型的可能造成影響或故障的case,我們提前沒有對這個現(xiàn)象有警覺,雖然知道這是個很容易出現(xiàn)的問題,但是在我們的case中,完全沒有這方面的意識。因此導致該事件發(fā)生
3、對于網(wǎng)絡流量這塊,缺乏有效監(jiān)控
解決方法:
1、所有服務器,取消開機自動啟動mysql,服務器開機后,人為啟動實例,停slave。(這樣,如果服務器很多,可能過于麻煩,暫且先這樣記錄下來,總比造成影響強)
2、意識到該問題,將該問題納入避免問題的常識庫或工作手冊中去。
相關文章
MySQL execute、executeUpdate、executeQuery三者的區(qū)別
這篇文章主要介紹了MySQL execute、executeUpdate、executeQuery三者的區(qū)別的相關資料,需要的朋友可以參考下2017-05-05Mysql數(shù)據(jù)庫中數(shù)字相減 出現(xiàn)負數(shù)時sql 語句報錯的問題
這篇文章主要介紹了Mysql數(shù)據(jù)庫中數(shù)字相減 出現(xiàn)負數(shù)時sql 語句報錯的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-05-05關于django連接mysql數(shù)據(jù)庫并進行數(shù)據(jù)庫的創(chuàng)建的問題
這篇文章主要介紹了django連接mysql數(shù)據(jù)庫并進行數(shù)據(jù)庫的創(chuàng)建,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-06-06MySQL在關聯(lián)復雜情況下所能做出的一些優(yōu)化
這篇文章主要介紹了MySQL在關聯(lián)復雜情況下所能做出的一些優(yōu)化,作者通過添加索引來不斷優(yōu)化查詢時間,需要的朋友可以參考下2015-05-05