總結(jié)MySQL修改最大連接數(shù)的兩個(gè)方式
問題
在使用MySQL數(shù)據(jù)庫的時(shí)候,經(jīng)常會(huì)遇到這么一個(gè)問題,就是“Can not connect to MySQL server. Too many connections”-mysql 1040錯(cuò)誤,這是因?yàn)樵L問MySQL且還未釋放的連接數(shù)目已經(jīng)達(dá)到MySQL的上限。通常,mysql的最大連接數(shù)默認(rèn)是100, 最大可以達(dá)到16384。
常用的有兩種方式修改最大連接數(shù)。
解決方式一:通過命令
可以通過 set GLOBAL max_connections=100; 命令將最大連接數(shù)設(shè)置為100,此方法是即時(shí)生效的,不需要重啟mysql服務(wù)。如下圖所示:

需注意的是,要通過root權(quán)限的mysql帳號(hào)才能操作,否則會(huì)報(bào)“1227 - Access denied; you need (at least one of) the SUPER privilege(s) for this operation”的錯(cuò)誤。
同時(shí),從上圖也可以看出,設(shè)置max_connections最小值為1。
設(shè)置完成后,我再通過另一個(gè)終端連接時(shí),就報(bào)出了如下的錯(cuò)誤提示:1040-Too many connections。

解決方式二:修改my.cnf
打開mysql的配置文件vim /etc/my.cnf,加入max_connections=100一行(如果有,直接修改值即可),然后重啟服務(wù):/etc/init.d/mysqld restart,此時(shí)生效。

區(qū)別:
1.通過修改配置文件,需要重啟服務(wù);而用命令修改,即時(shí)生效。
2.采用修改配置文件的方式,更穩(wěn)定可靠。因?yàn)槿绻渲梦募杏?code>max_connections=100,再去用命令修改的話,一旦重啟mysql服務(wù)后,會(huì)重新以配置文件中指定的連接數(shù)為準(zhǔn)。
總結(jié):
在修改最大連接數(shù)的時(shí)候會(huì)有這樣一個(gè)疑問—這個(gè)值是不是越大越好,或者設(shè)置為多大才合適?這個(gè)參數(shù)的大小要綜合很多因素來考慮,比如使用的平臺(tái)所支持的線程庫數(shù)量(windows只能支持到2048)、服務(wù)器的配置(特別是內(nèi)存大?。⒚總€(gè)連接占用資源(內(nèi)存和負(fù)載)的多少、系統(tǒng)需要的響應(yīng)時(shí)間等。可以在global或session范圍內(nèi)修改這個(gè)參數(shù)。連接數(shù)的增加會(huì)帶來很多連鎖反應(yīng),需要在實(shí)際中避免由此引發(fā)的負(fù)面影響。希望本文大家使用mysql有所幫助。
相關(guān)文章
MySQL處理DB讀寫分離數(shù)據(jù)不一致問題的方案
在互聯(lián)網(wǎng)中大型項(xiàng)目中,讀寫分離應(yīng)該是我們小伙伴經(jīng)常聽說的,這個(gè)主要解決大流量請(qǐng)求時(shí),提高系統(tǒng)的吞吐量,本文給大家介紹了MySQL處理DB讀寫分離數(shù)據(jù)不一致問題的方案,需要的朋友可以參考下2024-02-02
mysql left join的基本用法以及on與where的區(qū)別
我們?cè)趯憇ql語句的時(shí)候,總是無法避免使用到連接關(guān)鍵詞,比如內(nèi)連接、外連接,下面就是詳細(xì)的介紹,需要的朋友可以參考下2023-05-05
MySQL視圖中用變量實(shí)現(xiàn)自動(dòng)加入序號(hào)功能
在 MySQL 中,視圖不支持直接使用變量來生成序號(hào),因?yàn)橐晥D是基于靜態(tài) SQL 查詢定義的,而變量是在運(yùn)行時(shí)動(dòng)態(tài)計(jì)算的,不過,你可以通過一些技巧來實(shí)現(xiàn)類似的效果,以下是一個(gè)常見的方法,使用子查詢來初始化變量,然后在視圖中使用這些變量,需要的朋友可以參考下2024-10-10
SUSE Linux下通過RPM方式卸載MySQL 5過程筆記
這篇文章主要介紹了SUSE Linux下通過RPM方式卸載MySQL 5過程筆記,本文針對(duì)使用rpm方式安裝的mysql,需要的朋友可以參考下2014-09-09
MySQL中時(shí)區(qū)參數(shù)time_zone解讀
MySQL時(shí)區(qū)參數(shù)time_zone用于控制系統(tǒng)函數(shù)和字段的DEFAULT CURRENT_TIMESTAMP屬性,修改時(shí)區(qū)可能會(huì)影響timestamp類型的值,建議在MySQL配置文件中設(shè)置時(shí)區(qū)參數(shù),以確保高并發(fā)時(shí)的性能,在業(yè)務(wù)中盡量使用datetime類型來存儲(chǔ)時(shí)間,因?yàn)槠鋾r(shí)間上限比TIMESTAMP更遠(yuǎn)2025-01-01
sql中select into和insert select的用法小結(jié)
在工作中,我們經(jīng)常需要備份表,本文主要介紹了sql中select into和insert select的用法小結(jié),具有一定的參考價(jià)值,感興趣的可以了解一下2024-08-08
MySQL實(shí)現(xiàn)數(shù)據(jù)更新的示例詳解
這篇文章主要為大家詳細(xì)介紹了MySQL實(shí)現(xiàn)數(shù)據(jù)更新的相關(guān)資料,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02

