mysql最大連接數、更改連接數

mysql最大連接數(最大併發數)默認爲100,這個數值對應併發很多的數據庫遠遠不夠,尤其電商行業,當連接請求大於默認連接數後,就會出現無法連接數據庫的錯誤,因此可以把它適當調大些


linux服務器中,改my.cnf中的值

my.cnf 中找到段 [mysqld],在其中添加一行

max_connections=200  //改成你想要的值

注意:這裏有人說改成set-variables=max_connections=200,但我用這種方式mysql服務起不來,修改了下邊那7種可能的原因還是不行。


注意:這裏修改了my.cnf可能導致mysql服務起不來

網上說的原因有這幾種

1.可能是/usr/local/mysql/data/rekfan.pid文件沒有寫的權限
解決方法 :給予權限,執行 “chown-R mysql:mysql/var/data” “chmod -R 755 /usr/local/mysql/data”  然後重新啓動mysqld!

2.可能進程裏已經存在mysql進程
解決方法:用命令“ps -ef|grep mysqld”查看是否有mysqld進程,如果有使用“kill -9  進程號”殺死,然後重新啓動mysqld!

3.可能是第二次在機器上安裝mysql,有殘餘數據影響了服務的啓動。
解決方法:去mysql的數據目錄/data看看,如果存在mysql-bin.index,就趕快把它刪除掉吧,它就是罪魁禍首了。本人就是使用第三條方法解決的 !http://blog.rekfan.com/?p=186

4.mysql在啓動時沒有指定配置文件時會使用/etc/my.cnf配置文件,請打開這個文件查看在[mysqld]節下有沒有指定數據目錄(datadir)。
解決方法:請在[mysqld]下設置這一行:datadir = /usr/local/mysql/data

5.skip-federated字段問題
解決方法:檢查一下/etc/my.cnf文件中有沒有沒被註釋掉的skip-federated字段,如果有就立即註釋掉吧。

6.錯誤日誌目錄不存在
解決方法:使用“chown” “chmod”命令賦予mysql所有者及權限

7.selinux惹的禍,如果是centos系統,默認會開啓selinux
解決方法:關閉它,打開/etc/selinux/config,把SELINUX=enforcing改爲SELINUX=disabled後存盤退出重啓機器試試。


重啓mysql服務

service mysqld restart


查看

mysqld -uroot -p variables | grep max_connections

輸入root賬號的密碼可以看見

| max_connections | 200 |

或者

mysql -uroot -p

輸入root賬號的密碼,執行show variables like 'max_connections'


請人說mysql最大連接數也就4000

mysqld實際上允許max_connections+1個客戶端進行連接。額外的連接保留給具有SUPER權限的賬戶。通過爲系統管理員而不是普通用戶授予SUPER權限(普通用戶不應具有該權限),系統管理員能夠連接到服務器,並使用SHOW PROCESSLIST來診斷問題,即使已連接的無特權客戶端數已達到最大值也同樣。請參見13.5.4.16節,“SHOW PROCESSLIST語法”

MySQL能支持的最大連接數取決於給定平臺上線程庫的質量。LinuxSolaris應能支持500-1000個併發連接,具體情況取決於RAM容量,以及客戶端正在作什麼。MySQL AB提供的靜態Linux庫能支持高達4000個連接。


發佈了96 篇原創文章 · 獲贊 17 · 訪問量 47萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章