[MySQL]記錄一次線上故障處理過程-- has more than max_user_connections active connections org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: or
[MySQL]記錄一次線上故障處理過程--> has more than 'max_user_connections' active connectionsorg.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException:
### Error querying database. Cause: org.springframework.transaction.CannotCreateTransactionException:Could not open JDBC Connection for transaction; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: User NUXUSER already has more than 'max_user_connections' active connections
......
### Cause: org.springframework.transaction.CannotCreateTransactionException:Could not open JDBC Connection for transaction; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: User NUXUSER already has more than 'max_user_connections' active connections
......
以上這是email報(bào)警信息,還有應(yīng)用頁面報(bào)500,503,504錯(cuò)誤信息。
1 半夜接到call之后,馬上登陸db,檢查128組db節(jié)點(diǎn)組的狀況,發(fā)現(xiàn)有db00701和db10201的connections超過了2000次。
2 想到這2臺(tái)好像是上周剛維護(hù)過ssd的db server,直接ssh進(jìn)取查看 ssh db00701
3 進(jìn)入db00701之后,ps -eaf|grep mysql,運(yùn)行正常,查看錯(cuò)誤日志信息,發(fā)現(xiàn)寫入binlog頻繁報(bào)錯(cuò)。
4 進(jìn)入binlog 目錄/data/binlog/,發(fā)現(xiàn)目錄下面有100多個(gè)binlog,足夠有5天以上的binlog,奇怪怎么會(huì)有這么多,不是有crontab任務(wù)每天移走2天前的binlog嗎?馬上crontab -l發(fā)現(xiàn)移走binlog的任務(wù)沒有開啟,突然一想到,不會(huì)binlog目錄磁盤滿了吧?
5 執(zhí)行df -h,看到/data/binlog/確實(shí) used 為100%了,趕緊手動(dòng)移走binlog,之后3分鐘過后,應(yīng)用正常了,頁面不報(bào)5XX的錯(cuò)誤了,db00701和db10201的connections也正常了。
總結(jié)問題原因有二:
1 此次數(shù)據(jù)庫 db server切換,山姆大叔的sa組在加監(jiān)控的時(shí)候,粗心大意沒有把binlog的監(jiān)控給加上,所以沒有及時(shí)報(bào)警通知磁盤滿了。
2 我們db組也沒有及時(shí)double confirmed這個(gè)monitor的事情。
看來以后還得更加仔細(xì)才行。
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com