服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Mysql - 解决mysql报错:Data source rejected establishment of connection, message from server: \"Too many connectio

解决mysql报错:Data source rejected establishment of connection, message from server: \"Too many connectio

2023-02-19 15:01鲲志说 Mysql

这篇文章主要给大家介绍了关于如何解决mysql报错:Data source rejected establishment of connection, message from server: \"Too many connectio的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下

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

 

报错

报错信息如下:

"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,上限为:100000
Mysql5.0版本:默认的最大连接数为100,上限为16384

查看mysql版本

select version();

如下,我这里是基于mysql 5.7,那么默认的最大连接数应该是151

解决mysql报错:Data source rejected establishment of connection, message from server: \"Too many connectio

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

show variables like 'max_connections';

解决mysql报错:Data source rejected establishment of connection, message from server: \"Too many connectio

当前最大连接数限制是151,说明没有改过最大连接数限制

确定连接数不够原因

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

所以原因是max_connections属性配置太小

修改最大连接数

修改mysql客户端最大连接数可以通过两种方式:

一种是使用命令设置,另一种是直接修改my.cnf文件

命令设置

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

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

set global max_connections=1500;

解决mysql报错:Data source rejected establishment of connection, message from server: \"Too many connectio

修改my.cnf文件

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

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

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

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

 

总结

到此这篇关于解决mysql报错:Data source rejected establishment of connection, message from server: \"Too many connectio的文章就介绍到这了,更多相关mysql报错连接数不够用内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/m0_37482190/article/details/128714147

延伸 · 阅读

精彩推荐
  • Mysqlmysql 数据库基础笔记

    mysql 数据库基础笔记

    mysql 数据库基础笔记,刚开始接触mysql的朋友可以参考下 ...

    MYSQL教程网3082019-12-04
  • MysqlMysql获取id最大值、表的记录总数等相关问题的方法汇总

    Mysql获取id最大值、表的记录总数等相关问题的方法汇总

    在做网站开发时,我们也许会想要取得mysql里id最大的一条记录,这个其实很简单。这篇文章给大家整理了获取一个表的记录数、获取一个表的最大id、获取...

    MYSQL教程网4162020-06-22
  • Mysqlmysql之innodb的锁分类介绍

    mysql之innodb的锁分类介绍

    本文将介绍mysql之innodb的锁分类,需要了解更多的朋友可以参考下 ...

    MYSQL教程网2062019-12-12
  • Mysqlmysql中替代null的IFNULL()与COALESCE()函数详解

    mysql中替代null的IFNULL()与COALESCE()函数详解

    这篇文章主要给大家介绍了关于mysql中替代null的IFNULL()与COALESCE()函数的相关资料,文中通过示例代码介绍的非常详细,对大家具有一定的参考学习价值,需...

    兴国First3372020-07-30
  • Mysql银河麒麟V10安装MySQL8.0.28并实现远程访问

    银河麒麟V10安装MySQL8.0.28并实现远程访问

    这篇文章主要介绍了银河麒麟V10安装MySQL8028的图文教程,并详细介绍了远程访问的实现方法,本文通过图文命令给大家介绍的非常详细,对大家的学习或工...

    iaoexl's7682022-09-29
  • MysqlMySql 查询符合条件的最新数据行

    MySql 查询符合条件的最新数据行

    这篇文章主要介绍了MySql 怎么查出符合条件的最新的数据行,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要...

    小目标青年8142022-07-06
  • MysqlCentOS7环境下安装MySQL5.5数据库

    CentOS7环境下安装MySQL5.5数据库

    大家好,本篇文章主要讲的是CentOS7环境下安装MySQL5.5数据库,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览...

    就一个码农10142022-01-25
  • MysqlMysql中如何查看执行计划

    Mysql中如何查看执行计划

    这篇文章主要介绍了Mysql中如何查看执行计划,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...

    头未秃11672022-08-26