程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> 故障的機器修好後重啟,狂拉主庫binlog,導致網絡問題的解決方法

故障的機器修好後重啟,狂拉主庫binlog,導致網絡問題的解決方法

編輯:關於MYSQL數據庫

問題簡述:

一周前,有一台mysql服務器發生硬件故障,停機了。我們給專門負責這塊的同學提交了申請,他們負責去報修這台服務器。今天這台服務器修好後,他們將其開機啟動。服務器上的4個mysql實例在開機後自動啟動,開始拉主庫的binlog。由於這台服務器停機時間比較久,日志丟的比較多,狂拉主庫的binlog,導致主庫網絡出現問題。
現象:
首先,我們完全沒有意識到是因為一台壞掉的服務器重啟拉主庫binlog導致的,因為我們壓根不知道 這台服務器什麼情況,只知道1周前,我們報修了1台服務器。具體什麼情況,有沒有修好,有沒有開機,我們完全不知道。 在這樣的情況下,忽然聽到網絡的同學說mysql有一台機器網絡流量過大,導致業務感覺很慢,總共持續了17分鐘。其實這樣,是沒有多大頭緒的。
排查:
查看processlist、全日志、慢日志都沒有發現有什麼問題。
查看監控,發現那段時間的服務器的讀IO驟然升高。 通過查看processlist的歷史記錄,發現有一段時間,主從復制的用戶 狀態是 waiting for net,通過其IP發現該服務器是1周前壞掉的一個slave服務器。
結論: 這台服務器上有4個實例,服務器啟動後,mysql實例自動啟動,開始向主庫上拉binlog,每個主庫每天的binlog量大概6G,4個實例1個星期大概160多G的binlog。
問題: 1、壞掉的服務器什麼時候修好,什麼時候開機,我們不可控,也不知道,也沒有關注 2、這種案例其實是很簡單、很典型的可能造成影響或故障的case,我們提前沒有對這個現象有警覺,雖然知道這是個很容易出現的問題,但是在我們的case中,完全沒有這方面的意識。因此導致該事件發生 3、對於網絡流量這塊,缺乏有效監控
解決方法: 1、所有服務器,取消開機自動啟動mysql,服務器開機後,人為啟動實例,停slave。(這樣,如果服務器很多,可能過於麻煩,暫且先這樣記錄下來,總比造成影響強) 2、意識到該問題,將該問題納入避免問題的常識庫或工作手冊中去。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved