溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

mysql數(shù)據(jù)庫連接過多的錯誤怎么處理

發(fā)布時間:2021-11-01 14:39:52 來源:億速云 閱讀:103 作者:小新 欄目:MySQL數(shù)據(jù)庫

這篇文章主要介紹了mysql數(shù)據(jù)庫連接過多的錯誤怎么處理,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

mysql數(shù)據(jù)庫連接過多的錯誤,可能的原因分析及解決辦法(轉)[@more@]系統(tǒng)不能連接數(shù)據(jù)庫,關鍵要看兩個數(shù)據(jù):
1、數(shù)據(jù)庫系統(tǒng)允許的最大可連接數(shù)max_connections。這個參數(shù)是可以設置的。如果不設置,默認是100。最大是16384。
2、數(shù)據(jù)庫當前的連接線程數(shù)threads_connected。這是動態(tài)變化的。
查看max_connections、max_connections的辦法見后。

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

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

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

這種情況通常發(fā)生在程序未能及時釋放數(shù)據(jù)庫連接資源或其他原因造成數(shù)據(jù)庫連接資源不能釋放,但強壇系統(tǒng)估計不會發(fā)生這種低級的編程錯誤。
該錯誤的簡便的檢查辦法是,在刷新強壇頁面時,不斷監(jiān)視threads_connected的變化。如果max_connections足夠大,而 threads_connected值不斷增加以至達到max_connections,那么,就應該檢查程序了。當然,如果采用數(shù)據(jù)庫連接池技術, threads_connected增長到數(shù)據(jù)庫連接池的最大連接線程數(shù)時,就不再增長了。

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

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


查看max_connections

進入MySQL,用命令:show variables
查看數(shù)據(jù)庫最大可連接數(shù)的變量值:max_connections

查看threads_connected

進入MySQL,用命令:show status
查看當前活動的連接線程變量值:threads_connected


設置max_connections

設置辦法是在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即可。當然,為了確保設置正確,應該查看一下max_connections。

注意:
1、雖然這里寫的32000。但實際MySQL服務器允許的最大連接數(shù)16384;
2、除max_connections外,上述其他配置應該根據(jù)你們系統(tǒng)自身需要進行配置,不必拘泥;
3、添加了最大允許連接數(shù),對系統(tǒng)消耗增加不大。
4、如果你的mysql用的是my.ini作配置文件,設置類似,但設置的格式要稍作變通。

感謝你能夠認真閱讀完這篇文章,希望小編分享的“mysql數(shù)據(jù)庫連接過多的錯誤怎么處理”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業(yè)資訊頻道,更多相關知識等著你來學習!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI