1. 程式人生 > 實用技巧 >com.mysql.jdbc.exceptions.jdbc4.CommunicationsE...

com.mysql.jdbc.exceptions.jdbc4.CommunicationsE...

為什麼80%的碼農都做不了架構師?>>> hot3.png

解決com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure 的錯誤

分析原因:

首先在mysql下用命令:mysql﹥ show global variables like 'wait_timeout'; 檢視wait_timeout

這裡我的wait_timeout是60也就是一分鐘,設定預設值太小

(取值範圍:1-31536000(linux),interactive_time取值隨wait_timeout變動)

所以如果在wait_timeout秒期間內,資料庫連線(java.sql.Connection)一直處於等待狀態,mysql就將該連線關閉。這時,你的Java應用的連線池仍然合法地持有該連線的引用。當用該連線來進行資料庫操作時,就碰到上述錯誤

解決:在linux系統配置檔案:/etc/my.cnf

1.修改配置

vi /etc/my.cnf

wait_timeout = 604800

interactive_timeout = 604800

2:重啟mysql服務(service mysqld restart)

# /etc/init.d/mysql restart

到此那麼連線超時的問題從資料庫上就解決了。

備註:

interactive_timeout:伺服器關閉互動式連線前等待活動的秒數

wait_timeout:伺服器關閉非互動連線之前等待活動的秒數

後續有很多開發填坑的文章釋出,如果對你有幫助,請支援和加關注一下

http://e22a.com/h.05ApkG?cv=AAKHZXVo&sm=339944

https://shop119727980.taobao.com/?spm=0.0.0.0

轉載於:https://my.oschina.net/baishi/blog/172856