在使用c3p0連接池(在不配置maxIdleTime情況下,就使用默認(rèn)值0,也就是一直保持著連接)連接遠(yuǎn)程服務(wù)器。第一種情況:3到5分鐘沒有操作后,再次操作,后臺報錯:The last packet successfully received from the server was 576,776 milliseconds ago這樣的錯誤,百度的帖子都說是修改wait_timeout但是沒軟用啊,因為我查了我的timeout時間是8小時,3到5分鐘完全沒有達(dá)到八小時啊??!第二種情況:后來嘗試把wait_timeout調(diào)小:SET GLOBAL wait_timeout=10;調(diào)成連接超時為10s,測試結(jié)果也是當(dāng)每隔時間段超過10s確實也報相同的錯誤。但是反饋很快,不像第一種情況都會卡很久再報錯,后來對比兩種錯誤的reason by,還是有所不同的,這種和網(wǎng)絡(luò)上人們解釋的倒也想通,但是誰家的項目也不可能把timeout設(shè)置為10s?。?!大神們,我想問問第一種情況到底是為什么,因為用mysql客戶端連接3到5分鐘不操作也會出現(xiàn)相同的斷開問題。為什么連接遠(yuǎn)程數(shù)據(jù)庫就會出現(xiàn)這種情況,而本地數(shù)據(jù)庫就不會出現(xiàn)呢?
2 回答
智慧大石
TA貢獻(xiàn)1946條經(jīng)驗 獲得超3個贊
mysql超時會進(jìn)行自動重連,只不過你不注意例如用mysql命令客戶端,重連會告訴你:
mysql> show processlist;
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id: 373559
添加回答
舉報
0/150
提交
取消
