當應用程式和資料庫建立連線時,如果超過了8個小時,應用程式句不會去訪問資料庫,資料庫就會出現斷掉連線的現象 。這時再次訪問就會丟擲異常.
一般的解決方法大多是在資料庫連線字串中增加「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(一年),再來試試。
[mysqld]
set-variable=wait_timeout=31536000
set-variable=interactive_timeout=31536000
MySQL空閒連線超過8小時如何解決
程式和mysql資料庫連線,超過8小時應用程式不去訪問資料庫,資料庫就會斷掉連線。再次訪問就會拋異常。通過druid連線池配置 validationquery select 1 用來檢測連線是否有效的sql,要求是乙個查詢語句。testwhileidle true 申請連線的時候檢測,如果空閒時間大...
MySQL 8小時連線超時問題
mysql配置當中有個配置項wait timeout,他控制的是如果乙個連線超過指定時間沒有活動,mysql服務端將單方面斷開連線,如果客戶端還保留這個連線,這個連線將不可用,導致客戶端報錯等異常出現,這個值預設等於28800,單位是秒,也就是8個小時。要解決這個問題,有人將配置的值修改到很大,個人...
nutz mysql8小時 MySQL8小時問題
一 問題 獲取mysql連線,8小時內無請求自動斷開連線。二 解決 2.1 分析 mysql伺服器預設的 wait timeout 是28800秒即8小時,意味著如果乙個連線的空閒時間超過8小時,mysql將自動斷開連線,而連線池卻認為該連線還是有效的,當應用申請使用該連線時,就會導致報錯 2.2 ...