mysql解決自動斷開8小時未曾用過的鏈接

近一段時間,很多部門同事反映在使用mysql的過程出現數據庫連接自動斷開的問題,我對該問題做了一些實驗。
關於mysql自動斷開的問題研究結果如下,在mysql中有相關參數設定,當數據庫連接空閒一定時間後,服務器就
會斷開等待超時的連接:
1、相關參數,紅色部分
mysql> show variables like '%timeout%';

+--------------------------+-------+
| Variable_name      | Value  |
+--------------------------+-------+
| connect_timeout      | 5   |
| delayed_insert_timeout  | 300  |
| innodb_lock_wait_timeout| 50   |
interactive_timeout    | 28800 |
| net_read_timeout    | 30   |
| net_write_timeout     | 60   |
| slave_net_timeout     | 3600 |
wait_timeout       | 28800 |
+--------------------------+-------+

同一時間,這兩個參數只有一個起作用。到底是哪個參數起作用,和用戶連接時指定的連接參數相關,缺省情況下是使用
wait_timeout。我建議是將這兩個參數都修改,以免引起不必要的麻煩。

2、修改參數
這兩個參數的默認值是8小時。我測試過將這兩個參數改爲0,結果出人意料,系統自動將這個值設置爲1。換句話說,不能將該值設置爲永久。我建議爲參數值加三個0,這樣肯定可以滿足我們的應用要求。

修改操作:打開/etc/my.cnf,在屬性組mysqld下面添加參數如下:
[mysqld]
interactive_timeout=28800000
wait_timeout=28800000


windows下在my.ini文中增加:

interactive_timeout=28800000
wait_timeout=28800000


轉載至:http://www.cnblogs.com/neonlight/archive/2008/08/25/1276178.html

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