RHELCentOS7下MySQL連線數被限制為214個
問題
專案中,由於連線數過多,提示“Too many connections”,需要增加連線數。我在 /etc/my.cnf
中修改了
max_connections = 2000
但是, 實際連線數一直被限制在 214
mysql> show variables like "max_connections";
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| max_connections | 214 |
+-----------------+-------+
1 row in set
MySQL max_connections 總是 214 。不能設大了?
環境
- CentOS 7.1
- MySQL 5.6.25
思考
如果我設定連線小於214時,比如 200,那麼實際連線數就是 200,也就是說,我的配置檔案是沒有問題的。
查 MySQL 官方文件,裡面說了
The maximum number of connections MySQL can support depends on the quality of the thread library on a given platform, the amount of RAM available, how much RAM is used for each connection, the workload from each connection, and the desired response time. Linux or Solaris should be able to support at 500 to 1000 simultaneous connections routinely and as many as 10,000 connections if you have many gigabytes of RAM available and the workload from each is low or the response time target undemanding. Windows is limited to (open tables × 2 + open connections) < 2048 due to the Posix compatibility layer used on that platform.
Increasing open-files-limit may be necessary. Also see Section 2.5, “Installing MySQL on Linux”, for how to raise the operating system limit on how many handles can be used by MySQL.
大概意思是 MySQL 能夠支援的最大連線數量受限於作業系統,必要時可以增大 open-files-limit。換言之,連線數與檔案開啟數有關。
解決
執行
[root@emsc ~]# ulimit -n
1024
可知,作業系統最大檔案描述符限制為 1024, 在 配置檔案中新增
open_files_limit = 65535
實際上也沒有生效
更改 MySQL 在 Linux 的最大檔案描述符限制,編輯 /usr/lib/systemd/system/mysqld.service
檔案,在檔案最後新增:
LimitNOFILE=65535
LimitNPROC=65535
儲存後,執行下面命令,使配置生效
$ systemctl daemon-reload
$ systemctl restart mysqld.service
實際連線數到 2000 了,解決
mysql> show variables like "max_connections";
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| max_connections | 2000 |
+-----------------+-------+
1 row in set
參考
- http://dev.mysql.com/doc/refman/5.7/en/too-many-connections.html
- http://www.oschina.net/question/853151_241231
相關文章
- MySql 限制連線程式數MySql線程
- profile限制user連線session數Session
- Windows TCP連線數限制解決WindowsTCP
- 【MySql】mysql 欄位個數的限制MySql
- Tengine限制連線數和白名單功能
- Linux對外連線埠數限制Linux
- MySQL連線數管理MySql
- mysql最大連線數MySql
- nginx如何限制併發連線請求數?Nginx
- nginx 限制使用者併發連線數Nginx
- Oracle限制某個使用者的連線數及PROFILE介紹Oracle
- MYSQL 檢視最大連線數和修改最大連線數MySql
- MySQL 修改最大連線數MySql
- mysql最大連線數修改MySql
- 利用profile限制某使用者的連線數
- gorm使用事務併發情況下切有最大mysql連線數限制的情況下的BUG,踩坑了GoORMMySql
- MySQL 連線相關引數MySql
- 加大MySql的最大連線數MySql
- 限制單個IP併發TCP連線的方法TCP
- MySQL 連線為什麼掛死了MySql
- MySQL 連線為什麼掛死了?MySql
- 測試 mysql 的最大連線數MySql
- linux下配置ODBC連線MySqlLinuxMySql
- 限制單個IP併發TCP連線的方法(轉)TCP
- Apache伺服器限制併發連線和下載速度Apache伺服器
- 詳解nginx的請求限制(連線限制和請求限制)Nginx
- docker下mysql連線數修改後不生效問題的解決DockerMySql
- MySQL 預設最大連線數是多少?MySql
- 記錄一下MySQL的連線MySql
- GBase 資料庫使用者的最大連線數限制資料庫
- [原創] LINUX ES4.0 中限制TELNET連線數Linux
- Linux apache怎麼限制併發連線和下載速度LinuxApache
- 為什麼多 TCP 連線分塊下載比單連線下載快TCP
- 新特性解讀 | MySQL 8.0.28 使用者連線記憶體限制MySql記憶體
- PHP同時操作多個MySQL連線PHPMySql
- mysql 連線超慢的一個原因MySql
- 如何使tomcat下的資料庫連線池可以被幾個工程公用?Tomcat資料庫
- 一個簡單的MySQL引數導致的連線問題解惑MySql