当前位置:   article > 正文

MySQL提示too many connections解决办法_mysql too many connections

mysql too many connections

1.首先登录mysql终端,查看一下mysql的日志文件存放位置。 show global variables like log。
在这里插入图片描述
2.根据提示,找到/var/下的mysql日志看看有没有什么其他错误。
在这里插入图片描述
3.若没有其他错误mysql终端,通过输入show variables like max_connections,查看最大连接数。
在这里插入图片描述4.修改最大连接数:set GLOBAL max_connections=1000,配置好之后再次查看最大连接数的量。
在这里插入图片描述
5.超过连接数的原因,是mysql的连接数保持时间太长。可以修改一下保活机制show global variables like ‘wait_timeout’ ,就是最大睡眠时间。
在这里插入图片描述
6.修改一下 set global wait_timeout=300; 自动杀死线程。
set global interactive_timeout=500;
修改这个数值,表示mysql在关闭一个连接之前要等待的秒数,至此可以让mysql自动关闭那些没用的连接,但要注意的是,正在使用的连接到了时间也会被关闭,因此这个时间值要合适
在这里插入图片描述
7.刚刚的配置是临时修改,重启mysql会失效。可以通过修改mysql的配置nano /etc/my.cnf 添加 max_connections=1000
vi /etc/my.cnf 编辑my.cnf在[mysqld]中加入:max_connections=1000
service mysqld restart //重启mysql
附:
调整锁超时阈值 lock_wait_timeout 表示获取metadata lock的超时(单位为秒),允许的值范围为1到31536000(1年)。 默认值为31536000。详见
https://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html#sysvar_lock_wait_timeout
。默认值为一年!!!已哭瞎!将其调整为30分钟
sql set session lock_wait_timeout = 1800; set global lock_wait_timeout = 1800;

show global status like ‘uptime’;查看mysql的运行时长
show global variables like ‘%timeout’;
某个mysql长连接很久没有新的请求发起,达到了server端的timeout,被server强行关闭。wait_timeout 是28800秒,即mysql链接在无操作28800秒后被自动关闭

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/337106
推荐阅读
相关标签
  

闽ICP备14008679号