MySQL单实例并发连接数优化建议
要修改 MySQL 的最大连接数(max_connections),可以临时调整(立即生效但重启失效)或永久调整(需修改配置文件并重启 MySQL)。以下是详细步骤:
方法 1:临时修改(无需重启 MySQL)
适用于测试或紧急调整,但 MySQL 重启后会恢复原值。
1. 查看当前最大连接数
SHOW VARIABLES LIKE 'max_connections'; 或 SELECT @@GLOBAL.max_connections;
2. 修改最大连接数
SET GLOBAL max_connections = 500; -- 替换为你需要的值
生效时间:立即生效,但仅当前 MySQL 运行期间有效。
3. 验证是否修改成功
SHOW VARIABLES LIKE 'max_connections'; 或 SELECT @@GLOBAL.max_connections;
方法 2:永久修改(需重启 MySQL)
适用于生产环境,修改后重启 MySQL 服务使其永久生效。
1. 编辑 MySQL 配置文件
-
Linux(默认
/etc/my.cnf或/etc/mysql/my.cnf):
sudo vim /etc/my.cnf
-
Windows(默认
my.ini,通常在 MySQL 安装目录):
找到my.ini并编辑。
2. 在 [mysqld] 段添加或修改 max_connections
[mysqld] max_connections = 500 # 修改为你需要的值
其他相关参数(可选):
thread_cache_size = 50 # 缓存线程数,减少线程创建销毁开销 wait_timeout = 600 # 非交互连接超时时间(秒) interactive_timeout = 600 # 交互连接超时时间(秒)
3. 保存并重启 MySQL
-
Linux(Systemd):
sudo systemctl restart mysqld # 或 mysql
- Windows(服务管理器):
在“服务”中找到 MySQL 并重启。
4. 验证修改是否生效
SHOW VARIABLES LIKE 'max_connections'; 或者 SELECT @@GLOBAL.max_connections;
注意事项
1.系统资源限制:
- 每个 MySQL 连接会占用内存(默认
thread_stack=256KB),设置过高可能导致 OOM(内存不足)。
- 检查系统文件描述符限制(
ulimit -n),建议调整至65535或更高:
ulimit -n 65535 # 临时修改
或永久修改 /etc/security/limits.conf:
2.合理设置 max_connections:
- 一般 4核8GB 服务器建议
300-500。
- 高并发场景(如 16核32GB)可设
1000-3000,但需配合连接池(如HikariCP)优化。


浙公网安备 33010602011771号
1.在os层面执行以下命令,它会列出“可能搜索的”配置文件顺序。
mysql --help | grep -i "my.cnf"
2. 配置写法示例
sudo vim /etc/my.cnf
在 mysqld 段落下添加或修改:
[mysqld]
max_connections = 1000
3. 应用修改的步骤
编辑配置文件(如 /etc/my.cnf)。
保存后重启服务:
systemd:sudo systemctl restart mysqld 或 sudo systemctl restart mysql
service:sudo service mysqld restart
Docker:重启容器。
4. 验证
SHOW VARIABLES LIKE 'max_connections';
5. 4临时(运行期)调整(重启后失效)
SET GLOBAL max_connections = 1000;
注意需要有 SUPER / SYSTEM_VARIABLES_ADMIN 权限。这样不用立刻重启,但只是当前实例生命周期有效;