开发者

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

开发者 https://www.devze.com 2023-02-18 09:03 出处:网络 作者: 鲲志说
目录报错原因解决查看mysql版本查看当前mysql最大连接数限制确定连接数不够原因修改最大连接数命令设置修改my.cnf文件总结最近在做压力测试嘛,需要逐步增加用户量做验证,每个用户单独创建数据库进行连接,就要不断
目录
  • 报错
  • 原因
  • 解决
    • 查看mysql版本
    • 查看当前mysql最大连接数限制
    • 确定连接数不够原因
    • 修改最大连接数
      • 命令设置
      • 修改my.cnf文件
  • 总结

    最近在做压力测试嘛,需要逐步增加用户量做验证,每个用户单独创建数据库进行连接,就要不断去创建数据库,这个报错也很容易理解,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版本的不同,可javascript设置的最大连接数范围也是有所区别的:

    Mysql5.5~5.7:默认的最大连开发者_mariadb接数都是151,上限为:100000

    Mysql5.0版本:默认的最大连接数为100,上限为16384

    查看mysql版本

    select ve编程客栈rsion();

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

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

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

    show variables like 'max_connections';

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

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

    确定连接数不够原因

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

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

    修改最大连接数

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

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

    命令设置

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

    但由于我是在测试,无所谓,mhttp://www.devze.comysql重启后的连接数

    set global max_connections=1500;

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

    修改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报错连接数不够用内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

    0

    精彩评论

    暂无评论...
    验证码 换一张
    取 消