修改mysql最大鏈接數量

問題mysql

在使用MySQL數據庫的時候,常常會遇到這麼一個問題,就是「Can not connect to MySQL server. Too many connections」-mysql 1040錯誤,這是由於訪問MySQL且還未釋放的鏈接數目已經達到MySQL的上限。一般,mysql的最大鏈接數默認是100, 最大能夠達到16384。sql

經常使用的有兩種方式修改最大鏈接數。數據庫

解決方式一:經過命令vim

能夠經過 set GLOBAL max_connections=100; 命令將最大鏈接數設置爲100,此方法是即時生效的,不須要重啓mysql服務。以下圖所示:windows

需注意的是,要經過root權限的mysql賬號才能操做,不然會報「1227 - Access denied; you need (at least one of) the SUPER privilege(s) for this operation」的錯誤。服務器

同時,從上圖也能夠看出,設置max_connections最小值爲1。session

設置完成後,我再經過另外一個終端鏈接時,就報出了以下的錯誤提示:1040-Too many connectionsthis

解決方式二:修改my.cnf線程

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

區別:

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

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

總結:

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

相關文章
相關標籤/搜索