一次MySQL異常排查:Query execution was interrupted


異常日志:

 

查詢被中斷了,先是在Google上查,又是再百度上查,基本上都是說程序超時設置setQueryTimeout的問題,就是說查詢時間超過了設置的最大查詢時間,導致查詢被中斷。我也沒辦法斷定是不是這個原因,就聯系了DBA幫忙確定。
DBA查詢結果如圖:

 

反饋是閑置超時導致的,也就是鏈接超過設置的MySQL鏈接閑置超時時間(默認8小時)
解決方法,在數據庫數據源的DBCP配置文件中,設置testWhileIdel等於true,且validationQuery不等於空(一般設置select 1)
參數作用:當檢測到機器閑置時,通過validationQuery設置的SQL應用此鏈接執行,保證鏈接取消閑置狀態
參考:http://blog.csdn.net/initphp/article/details/8255793


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM