解決mysql中共8小時空閒後連接超時的問題
我在做項目中發現一個規律,當應用程序和數據庫建立連接時,如果超過了8個小時,應用程序句不會去訪問數據庫,數據庫就會出現斷掉連接的現象 。這時再次訪問就會拋出異常.
1、一般的解決方法大多是在數據庫連接字符串中增加“autoReconnect=true ”選項。但是這只對mysql4以前的版本有效。在最新的mysql中是無效的。其實要解決這個問題也有一個簡單的方法,就是修改mysql的啟動參數。缺省情況下mysql的timeout時間是28800秒,正好是8小時,增加一個0就可以了。
同理也可以在" my.ini"文件中增加此參數。
mysqld-nt --default-table-type=innodb --interactive_timeout=288000
2、從根源入手,設置mysql的wait_timeout為31536000(一年)。
www.2cto.com
mysql> show variables;
| wait_timeout | 28800
| interactive_timeout | 28800
" my.ini"文件中修改此參數
[mysqld]
wait_timeout=31536000
interactive_timeout=31536000
重啟服務,OK!
作者 蔡磊