欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 时评 > MYSQL “Too Many Connections“ 错误解决

MYSQL “Too Many Connections“ 错误解决

2025/4/19 10:44:09 来源:https://blog.csdn.net/ysfengshu/article/details/147308805  浏览:    关键词:MYSQL “Too Many Connections“ 错误解决

1.查询当前连接数

show status like "Threads_connected";

2.查询数据库最大连接数

show variables like "max_connections"

3.查询所有活动连接

show processlist;

4.根据查询结果观察是否有长时间未被释放的连接

 参数解释 :

字段说明
id连接的唯一标识符(线程ID)
User建立连接的用户名
host建立连接的主机名及端口
db当前连接使用的数据库名
Command线程正在执行的命令类型
Time线程处在当前状态的时间(秒)
State线程的状态信息
info线程正在执行的SQL语句(可能为NULL)

        如出现大量超过一个小时的休眠状态的线程,请检查连接数据库代码是否有做连接超时处理及关闭数据库连接,允许的情况下可以配置检测连接是否有效。

5.查询出超过1小时的连接并停止

select concat('kill',id,';') from information_schema.proccesslist 
where  command='Sleep' and TIME > 3600;

 复制查询出的命令执行。

6.增加最大连接数(大量连接在用)

 临时方案(mysql重启后会恢复成以前连接数据)

SET GLOBAL max_connections = 500;

 永久方案 修改 MySQL 配置文件(通常是 my.cnf 或 my.ini)

[mysqld]
max_connections = 500

重启mysql (具体看安装方式docker请用docker命令重启)

sudo systemctl restart mysql 

7.调整超时时间

 临时方案(mysql重启后会恢复成以前超时时间)

-- 将空闲超时时间设为300秒(5分钟)
SET GLOBAL wait_timeout=300SET GLOBAL interactive_timeout=300

  永久方案 修改 MySQL 配置文件(通常是 my.cnf 或 my.ini)

[mysqld]
wait_timeout = 300
interactive_timeout = 300
max_connections = 500  # 根据实际情况调整

 重启mysql (具体看安装方式docker请用docker命令重启)

sudo systemctl restart mysql 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词