在linux环境下,mysql默认的最大连接数往往无法满足高并发业务的需求,当连接数达到上限时,新的客户端连接会被拒绝并提示too many connections。要修改mysql的最大连接数,可以从临时调整和永久配置两个方面入手。
查看当前最大连接数
在修改之前,可以先登录mysql命令行,执行如下语句查看当前设置:
-- 查看最大连接数配置 SHOW VARIABLES LIKE 'max_connections'; -- 查看当前实际连接数 SHOW STATUS LIKE 'Threads_connected';
临时修改最大连接数
如果只想在当前mysql运行期间生效,不需要重启服务,可以使用以下命令直接修改全局变量:
-- 将最大连接数调整为500 SET GLOBAL max_connections = 500;
这种方式在mysql重启后会恢复为配置文件中的值,适合应急使用。
通过配置文件永久修改
在linux中,mysql的配置文件通常位于/etc/my.cnf或/etc/mysql/my.cnf。你可以编辑对应文件,在[mysqld]段落下添加或修改max_connections参数:
[mysqld] # 设置最大连接数为500 max_connections = 500
保存文件后,需要重启mysql服务使配置生效。基于systemd的linux发行版可使用如下命令:
# 重启mysql服务 sudo systemctl restart mysqld
注意事项
- max_connections值并非越大越好,需要结合服务器内存和每个连接的开销来评估。
- 如果使用了连接池,应保证应用侧连接池上限小于mysql的max_connections。
- 修改后建议再次执行SHOW VARIABLES LIKE 'max_connections'确认是否生效。
使用命令行一键查看与设置示例
下面是一个在linux shell中组合使用命令的示例,先查看再临时调整:
# 查看当前最大连接数 mysql -u root -p -e "SHOW VARIABLES LIKE 'max_connections'" # 临时设置为800 mysql -u root -p -e "SET GLOBAL max_connections = 800"
通过上述方法,你就可以在linux系统中灵活地修改mysql的最大连接数,避免连接数不足影响业务正常运行。
linuxmysqlmax_connections修改时间:2026-07-27 21:00:23