問題描述:
跑在伺服器上的工程,隔夜之後,第二天就崩了,,,
檢視日志,原來是Mysql的原因,預設的最長連接配接時間是28800,也即是8小時之内如果沒有新的請求,連接配接将斷開。
解決方法:
在網上檢視解決方法,大多是修改預設的相關time_out值。
但是照着做發現值還是沒變,後來才發現還有最後一步沒說明白。
下面是解決步驟:
1、進入Mysql,檢視變量資訊
2、需要修改的兩項資訊
wait_timeout 和 interactive_timeout,
它們的預設值都是28800,也就是8小時,隔夜就不行了,是以需要把它們都改大一些。
這兩個值的含義如下:
interactive_timeout
The number of seconds the server waits for activity on an interactive connection before closing it.
wait_timeout
The number of seconds the server waits for activity on a noninteractive connection before closing it.
簡單來說就是mysql為了防止一個連接配接無限期的連接配接耗費資源,設定了連接配接空閑期的最長時間。
3、修改方式
打開 my.ini 文檔, 在
# The TCP/IP Port the MySQL Server will listen on
port=3306下面添加
# this is myown dinifition for mysql connection timeout
wait_timeout=31536000
interactive_timeout=31536000
儲存my.ini,并退出。
4、重新開機mysqld服務
這一步很重要!!如果沒有重新開機服務,會看到修改後的值沒變,會讓人抓狂的。
不同的環境重新開機方式不一樣,下圖是在windows Server裡邊的重新開機方式