MySQL报Too many connections

Posted 技术改变生活

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL报Too many connections相关的知识,希望对你有一定的参考价值。

错误信息

 1 Exception in thread "main" java.sql.SQLNonTransientConnectionException: Data source rejected establishment of connection,  message from server: "Too many connections"
 2     at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:110)
 3     at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)
 4     at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
 5     at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:835)
 6     at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:455)
 7     at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:240)
 8     at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:199)
 9     at java.sql.DriverManager.getConnection(DriverManager.java:664)
10     at java.sql.DriverManager.getConnection(DriverManager.java:247)

错误原因

mysql默认的连接为100个,如果连接数超过该值,则会报Too many connections

另外一个原因是没有及时关闭数据库连接

解决办法

1.使用数据库连接之后,一定要及时关闭数据库连接

2.如果确实需要一定数量的数据库连接,可修改配置文件修改数据库连接数量

修改/etc/my.cnf文件

[mysqld]新添加一行如下参数:

max_connections=4096

以上是关于MySQL报Too many connections的主要内容,如果未能解决你的问题,请参考以下文章

MySQL 数据库报错 Too many connections

docker mysql 容器报too many connections 引发的liunx磁盘扩容操作

Mysql报Too many connections,不要乱用ulimit了,看看如何正确修改进程的最大文件数

阿里云服务器晚上运行定时任务报Too many connections

阿里云RDS报错:Too many connections

数据库too many connections 解决方法