解決mysql8小時無連線自動斷掉機制

2022-07-17 08:18:08 字數 1336 閱讀 1537

windows下開啟my.ini,增加:

interactive_timeout=28800000

wait_timeout=28800000

mysql是乙個小型關係型資料庫管理系統,由於mysql體積小、速度快、總體擁有成本低,尤其是開放原始碼這一特點,許多中小型**為了降低**總體擁有成本而選擇了mysql作為**資料庫。

關於mysql自動關閉服務的現象,可以通過mysql伺服器端程式mysql administrator調整連線引數。將max_connections max_updates max_questions三項資料調整到很大的數字,那麼你有限的操作將不會導致資料庫服務的終止了在mysql資料庫中,如果乙個連線8小時沒有請求和操作,就會自動斷開,從而導致一些基於資料庫連線的應用程式,特別是 web 應用程式出錯。解決mysql資料庫自動關閉服務三個方法:

方法一:這個引數的名稱是 wait_timeout,其預設值為 28800秒(8小時)。其意義為關閉乙個連線之前在這個連線上等到行動的秒數,也就是說,如果乙個連線閒置超過這個選項所設定的秒數,mysql 會主動斷開這個連線。

修改操作:

linux下開啟/etc/my.cnf,在屬性組mysqld下面新增引數如下:

interactive_timeout=28800000

wait_timeout=28800000

windows下開啟my.ini,增加:

interactive_timeout=28800000

wait_timeout=28800000

[mysqld]

interactive_timeout=28800000

wait_timeout=28800000

有實踐表明,沒有辦法把這個值設定成無限大,即永久。因此如果你無法保證你的應用程式必定在設定的秒數內至少有一次操作,那麼最好用第二個方法解決這個問題。

方法二:修改如下jdbc連線的 url:

jdbc:mysql://hostaddress:3306/schemaname?autoreconnect=true

新增 autoreconnect=true 這個引數,即能解決這個問題。

方法三:配置檔案(proxool.xml):

mysql

jdbc:mysql://localhost/yourdatebase?useunicode=true&characterencoding=utf-8

com.mysql.jdbc.driver

90000203

203true

true

select current_user

建議關於mysql自動關閉服務的三個方法,使用者最好採取第乙個辦法最為徹底解決

解決mysql8小時無連線自動斷掉問題

windows 下開啟my.ini 增加 interactive timeout 28800000 wait timeout 28800000 mysql 是乙個小型關係型資料庫 管理系統,由於 mysql 體積小 速度快 總體擁有成本低,尤其是開放原始碼這一特點,許多中小型 為了降低 總體擁有成本...

MySQL 8小時連線超時問題

mysql配置當中有個配置項wait timeout,他控制的是如果乙個連線超過指定時間沒有活動,mysql服務端將單方面斷開連線,如果客戶端還保留這個連線,這個連線將不可用,導致客戶端報錯等異常出現,這個值預設等於28800,單位是秒,也就是8個小時。要解決這個問題,有人將配置的值修改到很大,個人...

nutz mysql8小時 MySQL8小時問題

一 問題 獲取mysql連線,8小時內無請求自動斷開連線。二 解決 2.1 分析 mysql伺服器預設的 wait timeout 是28800秒即8小時,意味著如果乙個連線的空閒時間超過8小時,mysql將自動斷開連線,而連線池卻認為該連線還是有效的,當應用申請使用該連線時,就會導致報錯 2.2 ...