當連接到 MySQL 時出 Too many connections, 整個錯誤訊息是這樣的:
Can not connect to MySQL server
Error: Too many connections
Errno.: 1040
出現 Too many connections 表示連接到 MySQL 的連線數超出了 MySQL 的連線數上限, 預設上限是 151,有去調整的話,最大可以達到16384。
假設程式方面沒有問題, 這個問題可以通過提高 MySQL 連線數上限 (max_connections 變數) 得以解決, 設定 MySQL 的 max_connections 數值可以通過修改 my.cnf 設定檔, 以下是具體做法:
修改 /etc/my.cnf 設定檔
開啟檔案 /etc/my.cnf 也可能會在 /etc/mysql/mysql.conf.d/mysqld.cnf, 在 [mysqld] 段落下加入這行, 設定連線數上限到 500, 內容類似這樣:
[mysqld] max_connections = 10000
修改後重新啟動 MySQL 便會生效。
取得目前伺服器的設定值:
show variables like "max_connections";
執行結果:
mysql> show variables like "max_connections"; +-----------------+-------+ | Variable_name | Value | +-----------------+-------+ | max_connections | 10000 | +-----------------+-------+ 1 row in set (0.01 sec)
1、Windows下MySQL的配置文件是my.ini,一般會在安裝目錄的根目錄。
2、Linux下MySQL的配置文件是my.cnf,一般會放在/etc/my.cnf,/etc/mysql/my.cnf
相關文章:
How to change open_files_limit in MySQL
https://stackoverflow.max-everyday.com/2021/02/how-to-change-open_files_limit-in-mysql/