最近做的一個項目有時候因爲長時間沒有人訪問,等到再訪問時,控制檯會總會報 MySQL server has gone away 的問題,提示系統不能連接數據庫,找其原因,原來是mysql默認連接時間超時導致的,及mysql默認的 wait_timeout 時間超時,mysql默認時間爲8小時,對此問題,可有兩種解決辦法,本篇文章只給出其中一種詳細的解決辦法
(1)修改mysql的 wait_timeout,使其時間變長
1)在mysql安裝目錄下找到my.ini文件;
2)打開文件後,在文件的最後一行添加如下代碼:wait_timeout=2880000,這樣把之前的超時限制把8小時(28800)擴大爲800小時(添加後不爲800小時,應該是超過了MySQL允許的最大時間);
3)重啓mysql後再在其中輸入命令:show global variables like "wait_timeout";查看時間是否發生改變,如果改變,代表修改成功;
4)重啓tomcat或其他應用程序的服務器(如果已啓動),OK。
(2)寫一段小程序檢驗mysql的連接狀態,如果是斷開,使其進行重新連接。