程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MYSQL入門知識 >> 怎樣解決mysql連接過多的錯誤? 解決方案

怎樣解決mysql連接過多的錯誤? 解決方案

編輯:MYSQL入門知識
 

系統不能連接數據庫,關鍵要看兩個數據:

1、數據庫系統允許的最大可連接數max_connections。這個參數是可以設置的。如果不設置,默認是100。最大是16384。

2、數據庫當前的連接線程數threads_connected。這是動態變化的。

查看max_connections、max_connections的辦法見後。


如果 threads_connected == max_connections 時,數據庫系統就不能提供更多的連接數了,這時,如果程序還想新建連接線程,數據庫系統就會拒絕,如果程序沒做太多的錯誤處理,就會出現類似強壇的報錯信息。


因為創建和銷毀數據庫的連接,都會消耗系統的資源。而且為了避免在同一時間同時打開過多的連接線程,現在編程一般都使用所謂數據庫連接池技術。


但數據庫連接池技術,並不能避免程序錯誤導致連接資源消耗殆盡。


這種情況通常發生在程序未能及時釋放數據庫連接資源或其他原因造成數據庫連接資源不能釋放,但強壇系統估計不會發生這種低級的編程錯誤。

該錯誤的簡便的檢查辦法是,在刷新強壇頁面時,不斷監視threads_connected的變化。如果max_connections足夠大,而 threads_connected值不斷增加以至達到max_connections,那麼,就應該檢查程序了。當然,如果采用數據庫連接池技術, threads_connected增長到數據庫連接池的最大連接線程數時,就不再增長了。


從強壇出錯的情況看,更大的可能性是數據庫系統沒能進行適當地配置。下面提出一點建議。供參考


讓你們的工程師把MySQL的最大允許連接數從默認的100調成32000。這就不會老出現連接過多的問題了。


查看max_connections


進入MySQL,用命令:

 

show variables

 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved