如何解決mysql數(shù)據(jù)庫(kù)8小時(shí)無(wú)連接自動(dòng)關(guān)閉
windows下打開(kāi)my.ini,增加:
interactive_timeout=28800000 wait_timeout=28800000 |
專(zhuān)家解答:MySQL是一個(gè)小型關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),由于MySQL體積小、速度快、總體擁有成本低,尤其是開(kāi)放源碼這一特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫(kù)。
關(guān)于mysql自動(dòng)關(guān)閉服務(wù)的現(xiàn)象,可以通過(guò)mysql服務(wù)器端程序mysql Administrator調(diào)整連接參數(shù)。將max_connections max_updates max_questions三項(xiàng)數(shù)據(jù)調(diào)整到很大的數(shù)字,那么你有限的操作將不會(huì)導(dǎo)致數(shù)據(jù)庫(kù)服務(wù)的終止了在MySQL數(shù)據(jù)庫(kù)中,如果一個(gè)連接8小時(shí)沒(méi)有請(qǐng)求和操作,就會(huì)自動(dòng)斷開(kāi),從而導(dǎo)致一些基于數(shù)據(jù)庫(kù)連接的應(yīng)用程序,特別是 WEB 應(yīng)用程序出錯(cuò)。解決mysql數(shù)據(jù)庫(kù)自動(dòng)關(guān)閉服務(wù)三個(gè)方法:
方法一:這個(gè)參數(shù)的名稱(chēng)是 wait_timeout,其默認(rèn)值為 28800秒(8小時(shí))。其意義為關(guān)閉一個(gè)連接之前在這個(gè)連接上等到行動(dòng)的秒數(shù),也就是說(shuō),如果一個(gè)連接閑置超過(guò)這個(gè)選項(xiàng)所設(shè)置的秒數(shù),MySQL 會(huì)主動(dòng)斷開(kāi)這個(gè)連接。
修改操作:
linux下打開(kāi)/etc/my.cnf,在屬性組mysqld下面添加參數(shù)如下:
interactive_timeout=28800000 wait_timeout=28800000 |
windows下打開(kāi)my.ini,增加:
interactive_timeout=28800000 wait_timeout=28800000 |
有實(shí)踐表明,沒(méi)有辦法把這個(gè)值設(shè)置成無(wú)限大,即永久。因此如果你無(wú)法保證你的應(yīng)用程序必定在設(shè)定的秒數(shù)內(nèi)至少有一次操作,那么最好用第二個(gè)方法解決這個(gè)問(wèn)題。
方法二:修改如下JDBC連接的 URL:
jdbc:mysql://hostaddress:3306/schemaname?autoReconnect=true
添加 autoReconnect=true 這個(gè)參數(shù),即能解決這個(gè)問(wèn)題。
方法三:配置文件(proxool.xml):
mysql
jdbc:mysql://localhost/yourDatebase?useUnicode=true&characterEncoding=UTF-8 com.mysql.jdbc.Driver 90000 20 3 20 3 true true SELECT CURRENT_USER |
專(zhuān)家建議關(guān)于mysql自動(dòng)關(guān)閉服務(wù)的三個(gè)方法,用戶(hù)最好采取第一個(gè)辦法最為徹底解決。
posted on 2014-02-27 10:18 順其自然EVO 閱讀(1029) 評(píng)論(0) 編輯 收藏 所屬分類(lèi): 數(shù)據(jù)庫(kù)