99久久99久久精品免观看,国产精品久久久久国产精品,国产黄色录像视频,免费的黄色毛片,国产一区精品普通话对白,色妞妞成人在线观看,最新aⅴ福利在线观看免费

綠色資源網(wǎng):您身邊最放心的安全下載站! 最新軟件|熱門排行|軟件分類|軟件專題|廠商大全

綠色資源網(wǎng)

技術(shù)教程
您的位置:首頁(yè)數(shù)據(jù)庫(kù)類MySQL → mysql數(shù)據(jù)庫(kù)連接過(guò)多的錯(cuò)誤,可能的原因分析及解決辦法

mysql數(shù)據(jù)庫(kù)連接過(guò)多的錯(cuò)誤,可能的原因分析及解決辦法

我要評(píng)論 2011/05/17 14:50:45 來(lái)源:綠色資源網(wǎng) 編輯:downcc.com [ ] 評(píng)論:0 點(diǎn)擊:199次

   系統(tǒng)不能連接數(shù)據(jù)庫(kù),關(guān)鍵要看兩個(gè)數(shù)據(jù): 

    1、數(shù)據(jù)庫(kù)系統(tǒng)允許的最大可連接數(shù)max_connections。這個(gè)參數(shù)是可以設(shè)置的。如果不設(shè)置,默認(rèn)是100。最大是16384。 

    2、數(shù)據(jù)庫(kù)當(dāng)前的連接線程數(shù)threads_connected。這是動(dòng)態(tài)變化的。 
 
    查看max_connections、max_connections的辦法見后。 


    如果 threads_connected == max_connections 時(shí),數(shù)據(jù)庫(kù)系統(tǒng)就不能提供更多的連接數(shù)了,這時(shí),如果程序還想新建連接線程,數(shù)據(jù)庫(kù)系統(tǒng)就會(huì)拒絕,如果程序沒做太多的錯(cuò)誤處理,就會(huì)出現(xiàn)類似強(qiáng)壇的報(bào)錯(cuò)信息。 

    因?yàn)閯?chuàng)建和銷毀數(shù)據(jù)庫(kù)的連接,都會(huì)消耗系統(tǒng)的資源。而且為了避免在同一時(shí)間同時(shí)打開過(guò)多的連接線程,現(xiàn)在編程一般都使用所謂數(shù)據(jù)庫(kù)連接池技術(shù)。 

    但數(shù)據(jù)庫(kù)連接池技術(shù),并不能避免程序錯(cuò)誤導(dǎo)致連接資源消耗殆盡。 

    這種情況通常發(fā)生在程序未能及時(shí)釋放數(shù)據(jù)庫(kù)連接資源或其他原因造成數(shù)據(jù)庫(kù)連接資源不能釋放,但強(qiáng)壇系統(tǒng)估計(jì)不會(huì)發(fā)生這種低級(jí)的編程錯(cuò)誤。 

    該錯(cuò)誤的簡(jiǎn)便的檢查辦法是,在刷新強(qiáng)壇頁(yè)面時(shí),不斷監(jiān)視threads_connected的變化。如果max_connections足夠大,而 threads_connected值不斷增加以至達(dá)到max_connections,那么,就應(yīng)該檢查程序了。當(dāng)然,如果采用數(shù)據(jù)庫(kù)連接池技術(shù), threads_connected增長(zhǎng)到數(shù)據(jù)庫(kù)連接池的最大連接線程數(shù)時(shí),就不再增長(zhǎng)了。 

    從強(qiáng)壇出錯(cuò)的情況看,更大的可能性是數(shù)據(jù)庫(kù)系統(tǒng)沒能進(jìn)行適當(dāng)?shù)嘏渲?。下面提出一點(diǎn)建議。供參考 

    讓你們的工程師把MySQL的最大允許連接數(shù)從默認(rèn)的100調(diào)成32000。這就不會(huì)老出現(xiàn)連接過(guò)多的問題了。 

    查看max_connections 

    進(jìn)入MySQL,用命令:show variables 

    查看數(shù)據(jù)庫(kù)最大可連接數(shù)的變量值:max_connections 

    查看threads_connected 

    進(jìn)入MySQL,用命令:show status 

    查看當(dāng)前活動(dòng)的連接線程變量值:threads_connected 


    設(shè)置max_connections 

    設(shè)置辦法是在my.cnf文件中,添加下面的最后紅色的一行: 

-------------------------------------------------------------------------------- 

[mysqld] 
port=3306 
#socket=MySQL 
skip-locking 
set-variable = key_buffer=16K 
set-variable = max_allowed_packet=1M 
set-variable = thread_stack=64K 
set-variable = table_cache=4 
set-variable = sort_buffer=64K 
set-variable = net_buffer_length=2K 
set-variable = max_connections=32000 


-------------------------------------------------------------------------------- 

    修改完畢后,重啟MySQL即可。當(dāng)然,為了確保設(shè)置正確,應(yīng)該查看一下max_connections。 

    注意: 

    1、雖然這里寫的32000。但實(shí)際MySQL服務(wù)器允許的最大連接數(shù)16384; 

    2、除max_connections外,上述其他配置應(yīng)該根據(jù)你們系統(tǒng)自身需要進(jìn)行配置,不必拘泥; 

    3、添加了最大允許連接數(shù),對(duì)系統(tǒng)消耗增加不大。 

    4、如果你的mysql用的是my.ini作配置文件,設(shè)置類似,但設(shè)置的格式要稍作變通。

關(guān)鍵詞:mysql,數(shù)據(jù)庫(kù)

閱讀本文后您有什么感想? 已有 人給出評(píng)價(jià)!

  • 0 歡迎喜歡
  • 0 白癡
  • 0 拜托
  • 0 哇
  • 0 加油
  • 0 鄙視