如何解決mysql資料庫8小時無連線自動關閉

2021-06-20 14:11:00 字數 1296 閱讀 9162

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下面新增引數如下:

[mysqld]

interactive_timeout=28800000

wait_timeout=28800000

windows下開啟my.ini,增加:

[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自動關閉服務的三個方法,使用者最好採取第乙個辦法最為徹底解決。

如何解決mysql資料庫8小時無連線自動關閉

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

MySQL空閒連線超過8小時如何解決

程式和mysql資料庫連線,超過8小時應用程式不去訪問資料庫,資料庫就會斷掉連線。再次訪問就會拋異常。通過druid連線池配置 validationquery select 1 用來檢測連線是否有效的sql,要求是乙個查詢語句。testwhileidle true 申請連線的時候檢測,如果空閒時間大...

解決mysql到了8小時斷開連線問題

我的是springboot專案,將服務放到雲伺服器後發現了乙個問題,就是服務如果8小時沒有收到請求就會字段斷開連線,當再次訪問時就會爆出連線異常,在網上找了相關資料,在此記錄解決方案。1 如果是mysql4以下,則只需要在datasource的url後加上autoreconnect true便可以解...