解決MySQL連接超時Communications link failure due to underlying exception


最近在用一個MySQL的Java連接池的過程中,連接一晚上不釋放,第二天就會造成超時的錯誤,查了一下原因,原來是因爲MySQL默認的空閒等待時間是8個小時,一旦空閒超過8個小時,就會拋出異常。異常文本如下:

com.mysql.jdbc.CommunicationsException 
MESSAGE: Communications link failure due to underlying exception: 

** BEGIN NESTED EXCEPTION ** 

java.net.SocketException 
MESSAGE: Software caused connection abort: socket write error

解決方式:編輯/etc/my.cnf(windows下爲my.ini),將超時時間設置爲10年,在[mysqld]後面加入:
wait_timeout=315360000

然後重啓MySQL
# service mysql restart

搞定。然後重啓超時的java連接池程序吧。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章