新聞中心
hibernate+mysql too many connections如何關(guān)閉數(shù)據(jù)庫(kù)連接?
樓主因?yàn)樵趆ibernate中是Threadlocal管理session的你的session.close()后,Threadlocal的還沒(méi)有馬上請(qǐng)空的,如果你hibernate的session資源不夠就很容易產(chǎn)生Too many connections的異常,可以這樣解決都可以試試
創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),白銀區(qū)企業(yè)網(wǎng)站建設(shè),白銀區(qū)品牌網(wǎng)站建設(shè),網(wǎng)站定制,白銀區(qū)網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,白銀區(qū)網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
1添加一個(gè)連接池配置文件,增加session線程池的線程數(shù),通過(guò)設(shè)置
property name="hibernate.connection.provider_class"
org.hibernate.connection.C3P0ConnectionProvider
/property
property name="hibernate.c3p0.max_size"30/property ——————可以設(shè)置大一點(diǎn)
property name="hibernate.c3p0.min_size"1/property
property name="hibernate.c3p0.timeout"1800/property
property name="hibernate.c3p0.max_statements"1000/property
property name="hibernate.c3p0.idle_test_period"30000/property
property name="hibernate.c3p0.acquire_increment"1/property
property name="hibernate.c3p0.validate"false/property
2用樓上的方法,將session.close()修改為:sessionFactory.closeSession(),因?yàn)橛胹essionFactory關(guān)閉session會(huì)清空ThreadLocal的session
試試吧樓主如果不行,可能還是某一個(gè)session的問(wèn)題
--------------------------------------------
沒(méi)寫對(duì),不好意思是hibernateSessionFactory.closeSession()
_____________________________________________是不是你經(jīng)常要用到hibernate插入大量數(shù)據(jù)?
是提示out of memory嗎
因?yàn)閔ibernate使用緩存插入數(shù)據(jù)的,當(dāng)你save時(shí)
它只是把數(shù)據(jù)保存在session中,沒(méi)有馬上插入,所以經(jīng)常插入大量數(shù)據(jù)會(huì)造成內(nèi)存不夠
______________________________________________-
不過(guò)有解決方法的樓主
MYSQL,使用什么命令可以斷開所有用戶的表連接?
命令:exit或者QUIT。
在Unix中,也可以按control-D鍵斷開服務(wù)器。
連接mysql:
格式: mysql -h主機(jī)地址 -u用戶名 -p用戶密碼
1、連接到本機(jī)上的MYSQL。(假設(shè)用戶名、密碼均為root)?
命令mysql -u root -p,回車后輸密碼root;再回車即可;
或者直接鍵入命令mysql -uroot -proot回車即可;
注意:用戶名前空格可有可無(wú),但是密碼前必須沒(méi)有空格,否則再次輸入密碼。
如果剛安裝好MYSQL,超級(jí)用戶root是沒(méi)有密碼的,故直接回車即可進(jìn)入到MYSQL中了。
2、連接到遠(yuǎn)程主機(jī)上的MYSQL。?
假設(shè)遠(yuǎn)程主機(jī)的IP為:110.110.110.110,用戶名為root,密碼為root。則鍵入以下命令:
mysql -h110.110.110.110 -uroot -proot;(注:p與root之間可以不用加空格)
3、一些MySQL安裝允許用戶以匿名(未命名)用戶連接到本地主機(jī)上運(yùn)行的服務(wù)器。
直接輸入命令:mysql。
擴(kuò)展資料:
增加新用戶mysql命令:
格式:create user ‘用戶名’@’主機(jī)地址’ identified by ‘密碼’;
1、增加tom1用戶 密碼為 tom1,可在任何主機(jī)登錄:
create user 'tom1'@'localhost' identified by 'tom1';
2、引號(hào)可省略,即:
create user tom1@localhost identified by 'tom1';
3、主機(jī)地址存在 % 時(shí)不可省略引號(hào),即:
create user tom1@'192.168.1.%' identified by 'tom1';
python關(guān)閉mysql連接
當(dāng)然要關(guān)閉。如果不關(guān)閉雖然也會(huì)過(guò)期,但是會(huì)較長(zhǎng)時(shí)間占用mysql寶貴的連接資源。
每完成一個(gè)cursor最好就要關(guān)閉一次cursor。連接可以不用關(guān)閉,直到你不再使用當(dāng)前連接,再關(guān)閉連接。
mysql 什么時(shí)候關(guān)閉空閑連接
MySQL 的默認(rèn)設(shè)置下,當(dāng)一個(gè)連接的空閑時(shí)間超過(guò)8小時(shí)后,MySQL 就會(huì)斷開該連接,而 c3p0 連接池則以為該被斷開的連接依然有效。
在這種情況下,如果客戶端代碼向 c3p0 連接池請(qǐng)求連接的話,連接池就會(huì)把已經(jīng)失效的連接返回給客戶端,客戶端在使用該失效連接的時(shí)候即拋出異常!
mysql 如何殺掉 session
show
processlist
;顯示的數(shù)據(jù)里有個(gè)id字段,就是sessionid,執(zhí)行
kill
id就可,
如果是通過(guò)命令行連接mysql的
可以執(zhí)行
status查看你的sessionid,如果是應(yīng)用程序,你可以根據(jù)info、user、host字段來(lái)找你想殺掉的線程,(注:應(yīng)用程序一般和mysql都是做短連接的,執(zhí)行完sql后都會(huì)關(guān)閉session,除非是卡在那,或者執(zhí)行時(shí)間太長(zhǎng),才有機(jī)會(huì)在show
processlist中看到)
mysql關(guān)閉連接
哥們下面也是2個(gè)數(shù)據(jù)操作方法1是用來(lái)執(zhí)行插入操作2是用來(lái)顯示操作3是APP.CONFIG配置文件,需要導(dǎo)入引用mysql.data.dll來(lái)連接數(shù)據(jù)庫(kù)
1 public void getconn(string sql)//數(shù)據(jù)庫(kù)操作鏈接方法
{
string conn = ConfigurationSettings.AppSettings["conn"].ToString();
MySqlConnection mysql = new MySqlConnection(conn);//實(shí)例化鏈接
mysql.Open();//開啟
MySqlCommand comm = new MySqlCommand(sql, mysql);
comm.ExecuteNonQuery();//執(zhí)行
mysql.Close();//關(guān)閉資源
}
---------------------------------------------------------------------------------------------------------
2 public static MySqlDataAdapter getadaoter(string sql)//顯示操作
{
string conn = ConfigurationSettings.AppSettings["conn"].ToString();
MySqlConnection mysql = new MySqlConnection(conn);//實(shí)例化鏈接
mysql.Open();//開啟
MySqlCommand comm = new MySqlCommand(sql, mysql);
comm.ExecuteNonQuery();
MySqlDataAdapter mda = new MySqlDataAdapter(sql, mysql);
mysql.Close();
return mda;
//需要在調(diào)用的時(shí)候進(jìn)行數(shù)據(jù)集填充
}
----------3
app.config
?xml version="1.0" encoding="utf-8" ?
configuration
appSettings
add key="conn" value="Server=112.124.17.213;User ID=root;Password=123;Database=goods;CharSet=gbk;"/
!--鏈接數(shù)據(jù)庫(kù)--
add key="category" value="st_category"/
/appSettings
/configuration
分享題目:mysql一個(gè)會(huì)話怎么關(guān)閉連接,mysql強(qiáng)制關(guān)閉連接
轉(zhuǎn)載源于:http://www.ef60e0e.cn/article/phpecj.html