解决mysql报错:Data source rejected establishment of connection, message from server: \"Too many
目录 报错 原因 解决 查看mysql版本 查看当前mysql最大连接数限制 确定连接数不够原因 修改最大连接数 命令设置 修改my.cnf文件 总结 最近在做压力测试嘛,需要逐步增加用户量做验证,
目录报错原因解决查看mysql版本查看当前mysql最大连接数限制确定连接数不够原因修改最大连接数命令设置修改my.cnf文件总结<blockquote><p>最近在做压力测试嘛,需要逐步增加用户量做验证,每个用户单独创建数据库进行连接,就要不断去创建数据库,这个报错也很容易理解,mysql连接数不够用了</p></blockquote>
报错
报错信息如下:
"SQLState":"08004","vendorCode":1040,"detailMessage":"Data source rejected establishment of connection,message from server: "Too many connections""
原因
根本原因是mysql连接数不够用了
但也要分情况看为什么不够用了
1.是mysql的max_connections属性配置太小?
2.还是是多次insert,update操作没有关闭session?
如果你也不确定,就继续往下看
解决
我们要知道,mysql版本的不同,可设置的最大连接数范围也是有所区别的:Mysql5.5~5.7:默认的最大连接数都是151,上限为:100000Mysql5.0版本:默认的最大连接数为100,上限为16384
查看mysql版本
select version();
如下,我这里是基于mysql 5.7,那么默认的最大连接数应该是151
查看当前mysql最大连接数限制
show variables like 'max_connections';
当前最大连接数限制是151,说明没有改过最大连接数限制
确定连接数不够原因
如上所示,我的情况当前是最大连接数限制是151,在此之前依然创建过十几个数据库;同时我又再次自行检查过,我这里不存在未关闭session的操作
所以原因是max_connections属性配置太小
修改最大连接数
修改mysql客户端最大连接数可以通过两种方式:
一种是使用命令设置,另一种是直接修改my.cnf文件