服務(wù)器mysql及c3p0設(shè)置 1)interactive_timeout: 參數(shù)含義:服務(wù)器關(guān)閉交互式連接前等待活動(dòng)的秒數(shù)。交互式客戶端定義為在mysql_real_connect()中使用CLIENT_INTERACTIVE選項(xiàng)的客戶端。 參數(shù)默認(rèn)值:28800秒(8小時(shí)) (2)wait_timeout: 參數(shù)含義:服務(wù)器關(guān)閉非
服務(wù)器mysql及c3p0設(shè)置(2)wait_timeout:
參數(shù)含義:服務(wù)器關(guān)閉非交互連接之前等待活動(dòng)的秒數(shù)。
在線程啟動(dòng)時(shí),根據(jù)全局wait_timeout值或全局interactive_timeout值初始化會(huì)話wait_timeout值,取決于客戶端類(lèi)型(由mysql_real_connect()的連接選項(xiàng)CLIENT_INTERACTIVE定義)。
參數(shù)默認(rèn)值:28800秒(8小時(shí))
MySQL服務(wù)器所支持的最大連接數(shù)是有上限的,因?yàn)槊總€(gè)連接的建立都會(huì)消耗內(nèi)存,因此我們希望客戶端在連接到MySQL Server處理完相應(yīng)的操作后,應(yīng)該斷開(kāi)連接并釋放占用的內(nèi)存。如果你的MySQL Server有大量的閑置連接,他們不僅會(huì)白白消耗內(nèi)存,而且如果連接一直在累加而不斷開(kāi),最終肯定會(huì)達(dá)到MySQL Server的連接上限數(shù),這會(huì)報(bào)'too many connections'的錯(cuò)誤。對(duì)于wait_timeout的值設(shè)定,應(yīng)該根據(jù)系統(tǒng)的運(yùn)行情況來(lái)判斷。在系統(tǒng)運(yùn)行一段時(shí)間后,可以通過(guò)show processlist命令查看當(dāng)前系統(tǒng)的連接狀態(tài),如果發(fā)現(xiàn)有大量的sleep狀態(tài)的連接進(jìn)程,則說(shuō)明該參數(shù)設(shè)置的過(guò)大,可以進(jìn)行適當(dāng)?shù)恼{(diào)整小些。
問(wèn)題:
如果在配置文件my.cnf中只設(shè)置參數(shù)wait_timeout=100,則重啟服務(wù)器后進(jìn)入,執(zhí)行:
Mysql> show variables like “%timeout%”;
會(huì)發(fā)現(xiàn)參數(shù)設(shè)置并未生效,仍然為28800(即默認(rèn)的8個(gè)小時(shí))。
查詢資料后,要同時(shí)設(shè)置interactive_timeout和wait_timeout才會(huì)生效。
【mysqld】
wait_timeout=100
interactive_timeout=100
重啟MySQL Server進(jìn)入后,查看設(shè)置已經(jīng)生效。
如果不重啟數(shù)據(jù)庫(kù)的話,可以通過(guò)下面方法設(shè)置
set global wait_timeout=100
set global interactive_timeout=100
在本次服務(wù)器中做了如下處理,記錄如下:
修改項(xiàng)目中配置文件 jdbc.properties 文件中下面三個(gè)參數(shù)數(shù)值
cpool.checkoutTimeout=450
cpool.maxIdleTime=600
cpool.maxIdleTimeExcessConnections=300
修改mysql中配置文件 my.ini
添加下面兩行內(nèi)容:
wait_timeout=800
interactive_timeout=800
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com