修改mysql最大連接數,解決Can not connect to MySQL server. Too many connections”-mysql 1040錯誤

問題

在使用MySQL數據庫的時候,經常會遇到這麼一個問題,就是“Can not connect to MySQL server. Too many connections”-mysql 1040錯誤,這是因爲訪問MySQL且還未釋放的連接數目已經達到MySQL的上限。通常,mysql的最大連接數默認是100, 最大可以達到16384。

查看當前的最大連接數

show variables like 'max_connections';

通過sql命令修改最大連接數

sql語句修改最大連接數,無需重啓MySQL服務,但是重啓mysql的時候會失效重置

set GLOBAL max_connections=300;

需注意的是,要通過root權限的mysql帳號才能操作,否則會報“1227 - Access denied; you need (at least one of) the SUPER privilege(s) for this operation”的錯誤。

通過修改配置文件修改最大連接數

解決方式二:修改my.cnf

打開mysql的配置文件vim /etc/my.cnf,加入max_connections=300一行(如果有,直接修改值即可),然後重啓服務:/etc/init.d/mysqld restart,此時生效。

區別

1.通過修改配置文件,需要重啓服務;而用命令修改,即時生效。

2.採用修改配置文件的方式,更穩定可靠。因爲如果配置文件中有max_connections=100,再去用命令修改的話,一旦重啓mysql服務後,會重新以配置文件中指定的連接數爲準。

總結

在修改最大連接數的時候會有這樣一個疑問—這個值是不是越大越好,或者設置爲多大才合適?這個參數的大小要綜合很多因素來考慮,比如使用的平臺所支持的線程庫數量(windows只能支持到2048)、服務器的配置(特別是內存大小)、每個連接佔用資源(內存和負載)的多少、系統需要的響應時間等。可以在global或session範圍內修改這個參數。連接數的增加會帶來很多連鎖反應,需要在實際中避免由此引發的負面影響。希望本文大家使用mysql有所幫助。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章