概述
最近準備對mysql做優化,修改配置文件後mysql無法正常啟動,猜測是個別參數問題,不過後來發現伺服器一直卡死,所以重啟了下伺服器,也就是這個重啟伺服器發現了一些很奇怪的現象。
現象
在伺服器重啟後發現以下問題:執行一些基本命令會hang死。
而且發現mysql進程無法kill掉
排查過程
1、查看磁碟、內存
可以發現磁碟、內存都正常
2、查看伺服器整體情況
在用top命令的時候發現IO存在瓶頸,已經達到98%了
3、查看是否有異常用戶操作
好吧,都是我的IP位址,那應該是mysql的問題導致了。
4、計劃用iotop進一步分析
本來想用iotop來分析具體是哪個進程影響的IO問題,但發現系統之前沒裝這工具..而目前IO滿了,用yum又裝不了這工具,只能選擇最後一個辦法了。
5、重啟大法
重啟前發現之前的配置文件是有點問題的,寫了兩個[mysqld],修改回正確的配置文件,禁止mysql開機自動啟動,然後重啟(注意只能手動重啟)。
6、重啟後
重啟後手動重啟mysql正常。
問題應該是在這:我之前配置文件不小心寫了兩個[mysqld],也就是配置文件錯誤了,但是伺服器重啟了(mysql進程是開機自動啟動的),然後mysql進程就處於這種僵死狀態,導致磁碟IO一直是滿的,改好配置文件後手動重啟就可以了。
後面會分享更多devops和DBA方面的內容,感興趣的朋友可以關注一下~