MySQL 数据库的连接数是指同时与 MySQL 数据库建立的客户端连接数量。连接数与 MySQL 的性能密切相关,需要根据实际需求和服务器资源进行合理配置和优化。
1. 查看连接数
1.1. 查看当前会话连接数
SHOW STATUS LIKE 'Threads_connected';
1.2. 查看历史最大连接数
SHOW STATUS LIKE 'Threads_connected';
1.3. 查看连接限制
SHOW STATUS LIKE 'Threads_connected';
2. 调整最大连接数
可以根据服务器负载和应用需求,适当调整最大连接数。
2.1. 临时调整(重启 MySQL 后失效)
- SET GLOBAL max_connections = 200;
2.2. 永久调整
编辑 MySQL 配置文件(通常是 my.cnf
或 my.ini
),添加或修改以下内容:
[mysqld]
max_connections = 200
然后重启 MySQL 服务:
systemctl restart mysql
3. 连接数耗尽时的处理
当连接数达到 max_connections
时,新连接将被拒绝,并抛出错误:ERROR 1040 (HY000): Too many connections
解决方法:
- 增加
max_connections
。 - 优化应用程序连接逻辑,减少不必要的长时间连接。
- 配置连接池(如 HikariCP、Druid),复用数据库连接。
4. 优化连接数的建议
4.1. 使用连接池
减少创建和关闭连接的开销,提升性能。
4.2. 监控空闲连接
检查长时间未使用的空闲连接:SHOW PROCESSLIST;
配置超时设置会话超时:SET GLOBAL wait_timeout = 300; -- 单位为秒
避免频繁连接与断开尽量保持持久连接,但需要合理控制连接的生命周期。
通过合理调整最大连接数和优化连接管理,可以有效提高 MySQL 数据库的稳定性和性能。