mysql的連接超時設置

測試中的新項目有個奇怪的現象,每天早上不能訪問,後臺報Software caused connection abort: socket write error 錯誤,重啓一下就好了。經查是MySQL連接超時設置的問題。默認的wait_timeout 是28800,8個小時。剛好經過一個晚上就超時了。解決辦法有兩種,一是將連接池中的超時時間設置的短於這個值(本項目用的spring boot data jpa,默認連接,設置後不起作用);方法二,把mysql的這個值設大一些:在[mysqld]下加wait_timeout = 86400。此時是設置的全局設定,可通過命令 show global variables like “%timeout%”;看到變化,而show variables like “%timeout%”;和show session variables like “%timeout%”;仍爲原值。

這個值設置爲多大應根據應用使用情況來定。太小會導致頻繁超時,太多會導致連接長時間不釋放,也會出錯。所以一方面調整好這個數值,一方面採用更好的連接池方案。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章