MySQL中連接超時自動斷開的解決方案


前言:

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服務即可

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM