前言:
MySQL數據庫一般默認的連接超時時間為3600s(1小時),但是在進行大規模的線程事務操作時,一個連接會一直等待執行,這時候如果數據庫的超時時間設置的過短,就可能會出現Mysql數據連接自動被釋放,影響后面對數據庫的操作。
當然MySQL連接設置的大小,要根據需求場景進行設置,wait_timeout過大也有弊端,其體現就是MySQL里大量的SLEEP進程無法及時釋放,拖累系統性能,不過也不能把這個指設置的過小,否則你可 能會遭遇到“mysql has gone away”之類的問題。
所以需要根據自己項目業務場景,進行適當的設置超時時間。
首先介紹下如何查看mysql的超時時間方法
在mysql命令提示符下執行以下命令即可:
SHOW GLOBAL VARIABLES LIKE '%timeout%'
其次連接超時wait_timeout設置方法如下:
方案1.在mysql命令提示符執行以下命令即可(臨時方法,重啟MySQL服務器會失效,恢復默認值)
SET GLOBAL wait_timeout=15000
方案2.修改mysql的配置文件(推薦方法)
- Windows下,配置文件路徑為MySQL安裝的根目錄中。my.ini
- Linux系統下,配置文件為路徑/etc/my.cnf
[mysqld] wait_timeout=10000 interactive_timeout=10000
保存退出,重啟MySQL服務即可