💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。
- 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老
- 导航
非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ?? 欢迎订阅本专栏 ??
解决 MySQL 报错:
Data source rejected establishment of connection, message from server: "Too many connectio_MySQL
在做项目时,创建多个数据库进行连接,这个报错也很容易理解,MySQL 连接数不够用了
这个错误消息涉及到数据库连接方面的问题,具体来说是关于连接数的限制。
SQLState:“08004”:这是一个标准的 SQL 状态码,通常表示连接错误或数据库不可用。
vendorCode:1040:这是特定于数据库供应商的错误代码,这里是 MySQL 数据库的错误代码。在 MySQL 中,错误代码 1040 表示连接数过多的问题。
detailMessage:这是详细的错误信息,指出了具体的问题。在这种情况下,服务器返回的消息是:“Data source rejected establishment of connection, message from server: “Too many connections””,翻译过来就是"数据源拒绝建立连接,服务器消息:连接太多"。
这个错误发生在尝试建立数据库连接时,但由于连接数已经达到了数据库服务器的限制,所以连接被拒绝。这可能是因为数据库服务器同时处理了太多的连接请求,或者系统配置设置了连接数的上限。解决方法通常包括增加数据库服务器的最大连接数配置,优化数据库连接的使用,或者调整应用程序的连接管理策略。
报错信息如下:
“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 版本的不同,可设置的最大连接数范围也是有所区别的:
SELECT VERSION() ;
如下,我这里是基于 MySQL 8.0.35,那么默认的最大连接数应该是 151
show variables like 'max_connections';
当前最大连接数限制是 151,显示 1500,是因为我修改过了
如上所示,我的情况当前是最大连接数限制是 151,在此之前依然创建过十几个数据库;同时我又再次自行检查过,我这里不存在未关闭 session 的操作,所以原因是 max_connections 属性配置太小
修改 MySQL 客户端最大连接数可以通过两种方式:
一种是使用命令设置,另一种是直接修改 my.cnf 文件
使用命令设置这种方式是临时修改,只能治标不能治本,在这个 MySQL 服务不重启的条件下是可用的,若 MySQL 重启会恢复到 MySQL 默认的连接数(或者恢复到 my.cnf 文件中配置的最大连接数)。
但由于我是在测试,无所谓,MySQL 重启后的连接数
set global max_connections=1500;
MySQL 重启后会优先使用 my.cnf 配置文件中的配置,用上面命令设置后,若重启 MySQL 服务,则还是会回到 my.cnf 文件中配置的最大连接数(或者默认值)。
# 修改my.cnf文件,在文件中加入如下属性
max_connections=1500
# 然后重启mysql服务
$ service mysqld restart
再次去创建数据库连接,就没问题了!
觉得有用的话点个赞
👍🏻
呗。
??????本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍
🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙