總結MySQL修改最大連接數(shù)的兩個方式
問題
在使用MySQL數(shù)據(jù)庫的時候,經(jīng)常會遇到這么一個問題,就是“Can not connect to MySQL server. Too many connections
”-mysql 1040錯誤,這是因為訪問MySQL且還未釋放的連接數(shù)目已經(jīng)達到MySQL的上限。通常,mysql的最大連接數(shù)默認是100, 最大可以達到16384。
常用的有兩種方式修改最大連接數(shù)。
解決方式一:通過命令
可以通過 set GLOBAL max_connections=100;
命令將最大連接數(shù)設置為100,此方法是即時生效的,不需要重啟mysql服務。如下圖所示:
需注意的是,要通過root權限的mysql帳號才能操作,否則會報“1227 - Access denied; you need (at least one of) the SUPER privilege(s) for this operation”
的錯誤。
同時,從上圖也可以看出,設置max_connections最小值為1。
設置完成后,我再通過另一個終端連接時,就報出了如下的錯誤提示:1040-Too many connections
。
解決方式二:修改my.cnf
打開mysql的配置文件vim /etc/my.cnf
,加入max_connections=100一行
(如果有,直接修改值即可),然后重啟服務:/etc/init.d/mysqld restart
,此時生效。
區(qū)別:
1.通過修改配置文件,需要重啟服務;而用命令修改,即時生效。
2.采用修改配置文件的方式,更穩(wěn)定可靠。因為如果配置文件中有max_connections=100
,再去用命令修改的話,一旦重啟mysql服務后,會重新以配置文件中指定的連接數(shù)為準。
總結:
在修改最大連接數(shù)的時候會有這樣一個疑問—這個值是不是越大越好,或者設置為多大才合適?這個參數(shù)的大小要綜合很多因素來考慮,比如使用的平臺所支持的線程庫數(shù)量(windows只能支持到2048)、服務器的配置(特別是內存大小)、每個連接占用資源(內存和負載)的多少、系統(tǒng)需要的響應時間等??梢栽趃lobal或session范圍內修改這個參數(shù)。連接數(shù)的增加會帶來很多連鎖反應,需要在實際中避免由此引發(fā)的負面影響。希望本文大家使用mysql有所幫助。
相關文章
Navicat配置mysql數(shù)據(jù)庫用戶權限問題
這篇文章主要介紹了Navicat配置mysql數(shù)據(jù)庫用戶權限問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-03-03mac安裝mysql數(shù)據(jù)庫及配置環(huán)境變量的圖文教程
本文主要介紹了mac安裝mysql數(shù)據(jù)庫及配置環(huán)境變量,文中通過圖文代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-08-08MySQL關聯(lián)查詢Join的實現(xiàn)原理和優(yōu)化建議
在平時的開發(fā)過程中,大家應該經(jīng)常會用到join進行多個表的之間的關聯(lián)查詢,但是如果使用不合理的話,會導致查詢性能下降,本文就MySQL中的關聯(lián)查詢的實現(xiàn)原理以及一些優(yōu)化建議等內容做一個講解,需要的朋友可以參考下2023-07-07MySQL中參數(shù)sql_safe_updates在生產(chǎn)環(huán)境的使用詳解
這篇文章主要給大家介紹了關于MySQL中參數(shù)sql_safe_updates在生產(chǎn)環(huán)境使用的相關資料,并給大家分享了解決mysql sql_safe_updates不支持子查詢更新的方法,分享出來供大家參考學習,需要的朋友們下面來一起看看吧。2017-11-11