總結MySQL修正最年夜銜接數的兩個方法。本站提示廣大學習愛好者:(總結MySQL修正最年夜銜接數的兩個方法)文章只能為提供參考,不一定能成為您想要的結果。以下是總結MySQL修正最年夜銜接數的兩個方法正文
成績
在應用MySQL數據庫的時刻,常常會碰到這麼一個成績,就是“Can not connect to MySQL server. Too many connections
”-mysql 1040毛病,這是由於拜訪MySQL且還未釋放的銜接數量曾經到達MySQL的下限。平日,mysql的最年夜銜接數默許是100, 最年夜可以到達16384。
經常使用的有兩種方法修正最年夜銜接數。
處理方法一:經由過程敕令
可以經由過程 set GLOBAL max_connections=100;
敕令將最年夜銜接數設置為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
,此時失效。
差別:
1.經由過程修正設置裝備擺設文件,須要重啟辦事;而用敕令修正,即時失效。
2.采取修正設置裝備擺設文件的方法,更穩固靠得住。由於假如設置裝備擺設文件中有max_connections=100
,再去用敕令修正的話,一旦重啟mysql辦事後,會從新以設置裝備擺設文件中指定的銜接數為准。
總結:
在修正最年夜銜接數的時刻會有如許一個疑問—這個值是否是越年夜越好,或許設置為多年夜才適合?這個參數的年夜小要綜合許多身分來斟酌,好比應用的平台所支撐的線程庫數目(windows只能支撐到2048)、辦事器的設置裝備擺設(特殊是內存年夜小)、每一個銜接占用資本(內存和負載)的若干、體系須要的呼應時光等。可以在global或session規模內修正這個參數。銜接數的增長會帶來許多連鎖反響,須要在現實中防止由此激發的負面影響。願望本文年夜家應用mysql有所贊助。