我更新了文件/etc/mysql/mysql.conf.d/mysqld.cnf
以包含行max_connections = 65535
。我使用重新启动了 MySQL 服务器sudo service mysql restart
。然后在 MySQL 客户端中输入命令SHOW VARIABLES LIKE 'max_connections';
并得到以下输出:
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| max_connections | 9190 |
+-----------------+-------+
1 row in set (0.00 sec)
我在运行 Ubuntu 20.04 LTS 的台式机和专用服务器上尝试了此操作。我在两个机器上都得到了完全相同的结果。
发生了什么?为什么新值不是max_connections
65535?
答案1
要管理连接,您需要一个文件描述符。
将max-connections
受到最大打开文件数的限制。
因此检查open_files_limit
show global variables like '%open_files_limit%' ;
要将值更改open_files_limit
为 20000,您必须
systemctl edit mysql
1)运行命令
[Service]
LimitNOFILE=20000
2)systemctl stop mysql
3)systemctl start mysql