【问题记录】03 连接MySQL数据库提示:1040 Too many connections

1、报错信息如下:

连接MySQL数据库提示:1040 Too many connections:
在这里插入图片描述

2、原因:

由于数据库连接数量,超过了数据库的最大连接数。
PS:因为这些数据库连接数,处于sleep状态,但是还没有被清除掉。

查看原因:

1)登录数据库

登录服务器,输入命令:

mysql -uroot -p

输入数据库登录密码后,登录成功。

2)查看数据库进程状态
show status like  'Threads%';

在这里插入图片描述
treads_cached :缓冲池中的线程数。
Threads_connected:当前连接(运行和睡眠)中的线程数。
Threads_created :创建过连接的线程数。
Threads_running:当前运行(没有睡眠)中的线程数。

总共连接了:152个。

3)查看数据库最大连接数
show variables like '%max_connection%';

在这里插入图片描述
最大连接数:151个,小于当前连接总数152,所以提示:Too many connections。

4)查看清除Sleep连接数时间
show variables like 'wait_timeout';

在这里插入图片描述
清除时间间隔为:28800秒(8小时),连接后8小时清除掉。

3、解决方法:

解决方法优先按下面1、2、3的顺序:

1)排查代码问题

看看到底哪里产生的连接数过多,有可能是代码比如定时任务引起的问题。

2)增加最大连接数
set GLOBAL max_connections=1000; 

比如,改为1000个连接数:
在这里插入图片描述

3)改小清除Sleep连接数时间
set GLOBAL wait_timeout=14400; 

改成4小时清除或者更短的时间间隔。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

joinclear

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值