mysql连接报错too many connection

too many connection

问题描述: 在腾讯云服务器上部署了mysql调配项目,结果调着调着mysql就会报错, too many connection
此时Linux上mysql无法登录,也不能通过Navicat连接。

先解决无法登录的情况,登录Linux服务器,更改my.conf文件。

Linux系统是在:/etc/my.cnf

在[mysqld]下添加

skip-grant-tables

然后重启mysql后,

mysql -u root -p

登录后记得把my.conf的注销掉再重启,即可正常使用mysql

最后开始试图解决问题。

use mysql;
show processlist;

发现数据库线程全都是在sleep状态,而且明明就两个人启动项目,却有上百条连接。
于是开始尝试解决:

  1. 改动项目中配置的hikari线程池参数
    hikari:
      maximum-pool-size: 500
      idleTimeout: 200000
      connectionTimeout: 30000
      maxLifetime: 200000
      minimum-idle: 20
  1. 在my.conf中增加了:

#为设置最大的连接数
max_connections=1000
#设置每用户最大的 连接数300
max_user_connections=500
#10分钟没有交互将关闭连接
wait_timeout = 200
#服务器关闭交互式连接前等待活动的秒
interactive_timeout = 900

之后就没有出现该问题了。


版权声明:本文为ideaxx原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。