看大佬們的部落格發現一共三種解決方案。
這個引數的名稱是 wait_timeout,其預設值為 28800秒(8小時)。其意義為關閉乙個連線之前在這個連線上等到行動的秒數,也就是說,如果乙個連線閒置超過這個選項所設定的秒數,mysql會主動斷開這個連線。
修改操作:
linux下開啟/etc/my.cnf,在屬性組mysqld下面新增引數如下:
[mysqld]
interactive_timeout=28800000
wait_timeout=28800000
windows下開啟my.ini,增加:
interactive_timeout=28800000
wait_timeout=28800000
有實踐表明,沒有辦法把這個值設定成無限大,即永久。因此如果你無法保證你的應用程式必定在設定的秒數內至少有一次操作。不推薦
修改如下jdbc連線的 url:
jdbc:mysql://hostaddress:3306/schemaname?autoreconnect=true
新增 autoreconnect=true這個引數,即能解決這個問題。
我就是用的這種方法,不過長時間不訪問後,第一次訪問還是沒有鏈結到資料庫,關掉頁面第二次訪問才鏈結到,不清楚是我寫的有問題,還是這個引數就是這樣希望來個大佬解答一下。
配置檔案(proxool.xml):
<?xml version="1.0"encoding="utf-8"?>
mysql
jdbc:mysql://localhost/yourdatebase?useunicode=true&characterencoding=utf-8
com.mysql.jdbc.driver
90000203
203true
true
selectcurrent_user
在Oracle資料庫實現自動斷開空閒連線
在實際的資料庫應用中,我們經常遇到這樣乙個問題,連線到oracle資料庫的使用者在作了一次操作後,再也沒有後續操作,但卻長時間沒有和資料庫斷開連線。對於乙個小型的應用系統來講,本身的連線數目就有限,這好像沒有什麼嚴重的後果,但如果對於乙個大型的資料庫應用。如稅務 工商等,如果資料庫的連線數目很多,對...
ORACLE自動斷開資料庫連線解決辦法
oracle自動斷開資料庫連線解決辦法 方法一 直接修改資源配置檔案 分三個步驟在sqlplus環境下完成。第一步,查詢資源檔案,找到connect time所在的profile名。select resource name,profile from dba profiles 第二步,用alter命令...
異常處理 ORACLE自動斷開資料庫連線解決辦法
方法 一 直接修改資源配置檔案 分三個步驟在sqlplus環境下完成。第一步,查詢資源檔案,找到connect time所在的profile名。select resource name,profile from dba profiles 第二步,用alter命令修改profile中的值 alter ...