[ MySQL ] – 設定 wait_timeout

設定 wait_timeout
由於 wait_timeout 需設的時間太長了 8 小時,如果你開啟資料連線沒有手動的關掉,系統會過了8小時才會自動關掉,人少還好人一多你的資料庫連線數馬上被吃光光,網站立馬掛掉。

先登入mysql 看一下timeout時間

mysql> show variables like ‘%timeout%’;

+—————————–+———-+
| Variable_name               | Value    |
+—————————–+———-+
| connect_timeout             | 10       |
| delayed_insert_timeout      | 300      |
| innodb_flush_log_at_timeout | 1        |
| innodb_lock_wait_timeout    | 50       |
| innodb_rollback_on_timeout  | OFF      |
| interactive_timeout         | 28800    |
| lock_wait_timeout           | 31536000 |
| net_read_timeout            | 30       |
| net_write_timeout           | 60       |
| rpl_stop_slave_timeout      | 31536000 |
| slave_net_timeout           | 3600     |
| wait_timeout                | 28800    |
+—————————–+———-+

wait_timeout 28800(8小時)
太長了會吃掉mysql的連線數

編輯設定檔
指令:sudo vi /etc/mysql/my.cnf

在檔案中 [mysqld] 內加上

wait_timeout = 180
interactive_timeout = 180

記住這兩個參數都要設定才可以

改完後再下一次
mysql> show variables like ‘%timeout%’;
+—————————–+———-+
| Variable_name               | Value    |
+—————————–+———-+
| connect_timeout             | 10       |
| delayed_insert_timeout      | 300      |
| innodb_flush_log_at_timeout | 1        |
| innodb_lock_wait_timeout    | 50       |
| innodb_rollback_on_timeout  | OFF      |
| interactive_timeout         | 180     |
| lock_wait_timeout           | 31536000 |
| net_read_timeout            | 30       |
| net_write_timeout           | 60       |
| rpl_stop_slave_timeout      | 31536000 |
| slave_net_timeout           | 3600     |
| wait_timeout                | 180     |
+—————————–+———-+

打完收工~

你可能會喜歡

喜歡我的文章嗎?歡迎按讚加分享,
或是點擊站內廣告讚助我喝一杯咖啡吧 - \(^_^)/

建立一個對話

你的電子郵件位址並不會被公開。 必要欄位標記為 *