解決 MySQL 連接出現 Too many connections

當連接到 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/

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *