一天下午,同事說有一台從資料庫出現問題,查明原因是在同步過程中,從庫在執行relay log時出現問題,導致大量relay log積壓沾滿磁碟空間,然後導致mysql整個宕掉。
同事一登入就刪除了大量的relay log 因為佔了接近百g的空間,然後重新同步就出現了下面問題。
同步過程提示找不到relay log 這很正常 刪除大量relay log 找到才怪。所以我登入進去首先停止了同步程序,檢視了錯誤日誌,如下
這個錯誤倒也奇怪 mysql.servers無故消失,原因未明。然後我查詢了資料,不得已重建了這個表,然後更新了passwd。
create tableservers
(
`server_name` char(64) not null,
`host` char(64) not null,`db` char(64) not null,
`username` char(64) not null,
`password` char(64) not null,
`port` int(4) default null,
`socket` char(64) default null,
`owner` char(64) not null,
primary key (`server_name`)
) engine=myisam default charset=utf8 comment='mysql foreign servers table';
這時候mysql.servers已經沒問題,接下來處理同步問題。由於從節點大量relay log丟失,需要找到中繼日誌執行的中斷點,也就是relay_master_log_file 和exec_master_log_pos,然後執行下面語句即可,別忘了處理同步故障前先停止同步程序哦。
記公升級mysql後的一次故障
一 問題背景 接上級要求,某生產資料庫需要實施備份 剛好漏洞掃瞄報告出來,mysql 版本需要公升級到5.7.20,於是就未雨綢繆,先寫指令碼。指令碼在mysql舊版本下完全可用 未公升級前,mysql 為5.7.18 公升級完後,本著技術人員的一種嚴謹態度,絕對要sh x 看看指令碼在新環境下有沒...
記一次manila故障
排查過程 1.檢視manila的日誌,api.log scheduler.log share.log,排程日誌最具參考性,但是顯示建立成功 實際狀態為creating 排到share時出現大量報錯 get all share usage failed 2.檢查後端儲存,節點均正常 排查過程 1.關閉...
記一次MySQL生產環境故障處理
在2020年5月15日 凌晨三點,某台生產環境的mysql程序異常,無法連線到資料庫。早上上班開始排查問題並解決。伺服器是windows環境,設定每2天凌晨自動重啟主機,mysql以及其他應用都設定了自動啟動。注 以下所有步驟需要先關閉使用到資料庫的應用程式。檢視系統的計畫任務,發現剛好15日凌晨3...