MySQL连接失败的问题

852 阅读1分钟

JDBC连接MySQL数据库失败的问题

MySQL有一个默认连接数最大值,可以通过命令:

show variables like '%max_connections%';

来查看。当连接数超过这个最大值,后面的连接都会失败。

com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Data source rejected establishment of connection,  message from server: "Too many connections"

可以通过命令:

SHOW PROCESSLIST

来查看当前建立的连接

解决办法:

连接使用完后,一定要在代码中关闭连接!

try {
	if (!connection.isClosed()) {
		connection.close();
	}
} catch (SQLException e) {
	e.printStackTrace();
}

增大可连接数: 找到在MySQL目录下的配置文件my.ini(windows平台),在[mysqld]下增加一行 max_connection,后面接的数量就是最大连接数。

[mysqld]

basedir= D:/mysql-5.7/mysql-5.7.21-winx64

datadir= D:/mysql-5.7/data

port = 3306

# default-character-set = utf8

character-set-server=utf8

max_connections=512

更改配置文件后需要重启MySQL服务才能生效。

在任务管理器下找到MySQL服务(可能显示的是MySQL57),右键点击重新启动。