解決mysql8小時無連線自動斷掉問題
windows下開啟my.ini,增加:
interactive_timeout=28800000 wait_timeout=28800000 |
MySQL是一個小型關係型資料庫管理系統,由於MySQL體積小、速度快、總體擁有成本低,尤其是開放原始碼這一特點,許多中小型網站為了降低網站總體擁有成本而選擇了MySQL作為網站資料庫。
關於mysql自動關閉服務的現象,可以通過mysql伺服器端程式mysql Administrator調整連線引數。將max_connections max_updates max_questions三項資料調整到很大的數字,那麼你有限的操作將不會導致資料庫服務的終止了在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 這個引數,即能解決這個問題。
方法三:配置檔案(
mysql
jdbc:mysql://localhost/yourDatebase?useUnicode=true&characterEncoding=UTF-8 com.mysql.jdbc.Driver 90000 20 3 20 3 true true SELECT CURRENT_USER |
建議關於mysql自動關閉服務的三個方法,使用者最好採取第一個辦法最為徹底解決