最近在做压力测试嘛,需要逐步增加用户量做验证每个用户单独创建数据库进行连接,就要不断去创建数据库这个报错也很容易理解mysql连接数不够用了

报错

报错信息如下

"SQLState":"08004","vendorCode":1040,"detailMessage":
"Data source rejected establishment of connection,message from server: "Too many connections""

原因

根本原因mysql连接数不够用了
但也要分情况看为什么不够用了

1.是mysqlmax_connections属性配置太小?
2.还是多次insert,update操作没有关闭session

如果你也不确定,就继续往下看

解决

我们知道mysql版本不同,可设置最大连接数范围也是有所区别的
Mysql5.5~5.7:默认最大连接数都是151,上限为:100000
Mysql5.0版本:默认的最大连接数为100,上限为16384

查看mysql版本

select version();

如下,我这里基于mysql 5.7,那么默认的最大连接数应该是151
在这里插入图片描述

查看当前mysql最大连接数限制

show variables like 'max_connections';

在这里插入图片描述
当前最大连接数限制是151,说明没有改过最大连接数限制

确定连接数不够原因

如上所示,我的情况当前是最大连接限制是151,在此之前依然创建过十几个数据库;同时我又再次自行检查过,我这里存在关闭session操作

所以原因max_connections属性配置太小

修改最大连接

修改mysql客户端最大连接可以通过两种方式
一种是使用命令设置,另一种是直接修改my.cnf文件

命令设置

使用命令设置这种方式临时修改,只能治标不能治本,在这个mysql服务重启条件下是可用的,若mysql重启会恢复mysql默认的连接数(或者恢复my.cnf文件配置的最大连接数)。

但由于我是在测试,无所谓,mysql重启后的连接

set global max_connections=1500;

在这里插入图片描述

修改my.cnf文件

mysql重启后会优先使用my.cnf配置文件中的配置,用上面命令设置后,若重启mysql服务,则还是会回到my.cnf文件中配置的最大连接数(或者默认值)。

# 修改my.cnf文件,在文件加入如下属性
max_connections=1500

# 然后重启mysql服务
$ service mysqld restart

再次去创建数据库连接,就没问题了!

原文地址:https://blog.csdn.net/m0_37482190/article/details/128714147

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_40554.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注