萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mysql教程 >> 通過wait_timeout解決mysql server has gone away問題

通過wait_timeout解決mysql server has gone away問題

剛配置好了mysql數據庫在上傳帶有圖片的文件時就會出來mysql server has gone away了,但是小編發現上傳文件沒有問題,於時覺得可能是超時了,這裡來看看mysql server has gone away如何解決。

打開mysql數據庫中的my.ini配置文件找到

wait_timeout發現wait_timeout的參數是5

wait_timeout = 5

意思是5秒自動斷開連接那麼再提交的數據就會出來mysql server has gone away了,解決辦法我們來看看

wait_timeout -- 指的是mysql在關閉一個非交互的連接之前所要等待的秒數

wait_timeout:

(1)如果設置大小,那麼連接關閉的很快,從而使一些持久的連接不起作用


於時我設置成

wait_timeout = 300 就是300秒了,這樣再測試發現沒有問題了,

補充

interactive_time -- 指的是mysql在關閉一個交互的連接之前所要等待的秒數(交互連接如mysql gui tool中的連接)

(2)如果設置太大,容易造成連接打開時間過長,在show processlist時,能看到太多的sleep狀態的連接,從而造成too many connections錯誤
(3)一般希望wait_timeout盡可能地低
 
interactive_timeout的設置將要對你的web application沒有多大的影響

最後說一下網上有人說這樣設置

在my.cnf文件中添加或者修改以下兩個變量:
wait_timeout=2880000
interactive_timeout = 2880000

這樣感覺就是不負責的一個配置了wait_timeout=2880000 是多長時間,對於性能是浪費了,所以設置一個合適的即可。

copyright © 萬盛學電腦網 all rights reserved