程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> mysql8小時空閒後連接超時的問題

mysql8小時空閒後連接超時的問題

編輯:MySQL綜合教程

問:怎樣才能解決mysql 8小時空閒後連接超時的問題?

答:當應用程序和數據庫建立連接時,如果超過了8個小時,應用程序句不會去訪問數據庫,數據庫就會出現斷掉連接的現象 。這時再次訪問就會拋出異常,異常如下:

以下為引用的內容:
Communications link failure due to
underlying exception:
** BEGIN NESTED EXCEPTION **
java.io.EOFException
STACKTRACE:
java.io.EOFException
at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:1913)
at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2304)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2803)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1573)
...

一般的解決方法大多是在數據庫連接字符串中增加“autoReconnect=true ”選項。但是這只對mysql4以前的版本有效。在最新的mysql中是無效的。其實要解決這個問題也有一個簡單的方法,就是修改mysql的啟動參數。缺省情況下mysql的timeout時間是28800秒,正好是8小時,增加一個0就可以了。

同理也可以在" my.ini"文件中增加此參數。

mysqld-nt --default-table-type=innodb --interactive_timeout=288000

用了以上的方法,就能夠很好的解決連接超時的問題,提高了mysql數據庫的工作效率,大家何樂而不為呢?

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved