MySQL数据库 Too many connections错误
现这种错误明显就是 mysql_connect 之后忘记 mysql_close,当大量的connect之后,就会出现Too many connections的错误。正常的mysql_connect 之后调用 mysql_close()关闭连接,但在连接错误时,会者mysql_real_query()出现错误退出时,可能忘记mysql_close()
错误信息
解决办法
可以通过修改mysql配置文件来加大允许连接的数量,或者等mysq自动关闭这些连接后,才可以正常操作数据库。
步骤
1、mysql -u root -p 回车输入密码进入mysql,并执行下面的语句,查看进程集合
show processlist;
2、查看连接数,可以发现有很多连接处于sleep状态,这些其实是暂时没有用的,所以可以kill掉
show variables like "max_connections";
3、查看最大连接数,应该是与上面查询到的连接数相同,才会出现too many connections的情况
set GLOBAL max_connections=100;
4、修改最大连接数,但是这不是一劳永逸的方法,应该要让它自动杀死那些sleep的进程。
show global variables like 'wait_timeout';
5、这个数值指的是mysql在关闭一个非交互的连接之前要等待的秒数,默认是28800s
set global wait_timeout=300;
6、修改这个数值,这里可以随意,最好控制在几分钟内
set global interactive_timeout=500;
Notice:修改这个数值,表示mysql在关闭一个连接之前要等待的秒数,至此可以让mysql自动关闭那些没用的连接,但要注意的是,正在使用的连接到了时间也会被关闭,因此这个时间值要合适
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
2013-06-30 a:hover应用精粹