jdbc開發時候遇到mysql連線超時,斷開服務的問題。經過查資料,找到問題解決方法,總結如下。
問題原因:
由於mysql服務在長時間不連線之後斷開了,斷開之後的首次請求會丟擲這個異常。
既然是連線超時的問題,就要去mysql中**一下連線時間是怎麼 控制的。開啟mysql的控制台,執行:show variables like 『%timeout%』,檢視和連線時間有關的mysql系統變數,得到如下結果:
解決方法:
兩個變數是共同控制的,那麼都必須對他們進行修改了。繼續深入這兩個變數wait_timeout的取值範圍是 1-2147483(windows),1-31536000(linux),interactive_time取值隨wait_timeout變動,它 們的預設值都是28800。
mysql的系統變數由配置檔案控制,當配置檔案中不配置時,系統使用預設值,這個28800就是預設值。要修改就只能在配置檔案裡修改。windows 下在%mysql home%/bin下有mysql.ini配置檔案,開啟後在如下位置新增兩個變數,賦值。(這裡修改為388000)
儲存退出,重啟mysql服務,一定是重啟系統服務。便可看到修改結果:
linux系統下的配置檔案為/etc/my.cnf。需要多說一點的是:windows下的配置檔案具體是哪個需要從windows系統服務中找到 mysql,開啟屬性,看「可執行檔案路徑」裡面的引數值,因為它可能是my.cnf而不是my.ini,這是由於安裝時的設定,我們可能會忽略它。
至此,修改完成,那麼連線超時的問題從資料庫上就解決了。當然在程式設計時也可以使用連線池設定超時時間,配置相對簡單。但修改資料庫更為本質一些。
SSH連線超時解決方法
原理均為定時傳送 空包 方法1.修改server端的etc ssh sshd config,然後重啟ssh服務 service sshd restart server每隔60秒傳送一次請求給client,然後client響應,從而保持連線 clientaliveinterval 60 server發...
Linux Vsftpd 連線超時解決方法
2013 11 13 10 58 34 分類 預設分類 舉報 字型大小訂閱 解決方法 在服務端配置被動模式就可以從根源上解決這問題。1 編輯 vsftpd 配置檔案 vi etc vsftpd vsftpd.conf 複製 2 在最下面新增以下資訊 pasv enable yes 開啟被動模式 pa...
linux ssh 連線超時中斷 解決方法
當在終端使用ssh命令連線到伺服器時,如果一段時間沒有活動連線會被中斷 一 修改ssh客戶端配置 編輯客戶端 etc ssh ssh config 或 ssh config 對當前使用者生效 檔案,修改以下兩個配置項 沒有就自己新增 serveraliveinterval 60 ssh客戶端每60秒...