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

2021-06-22 20:23:26 字數 1754 閱讀 4354

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體積小 速度快 總體擁有成本低,尤其是開放原始碼這一特點,許多中小型 為了降低 總體擁有成本而選擇了m...

MySQL 8小時連線超時問題

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

nutz mysql8小時 MySQL8小時問題

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