数据库连接问题

Caused by: java.sql.SQLNonTransientConnectionException: Data source rejected

根据工作要求在GitHub上拉取一个项目在本地运行的时候遇到了一些问题,一开始控制台报GetConnectionTimeoutException: wait millis 7001, active 0, maxActive 500, creating 0。
在这里插入图片描述 看到控制台报的错误信息是说数据库连接池的问题。于是在博客找到是数据库连接池溢出问题,程序在运行时申请的连接没有关闭,造成了连接泄露。比如:

Connection  connection=jdbcTemplate.getDataSource().getConnection(); 

这样得到的连接spring不会再帮你关闭,你需要手动关闭。
需要添加druid的连接回收机制。

#超过时间限制是否回收
spring.datasource.druid.removeAbandoned = true
#超时时间;单位为秒。180=3分钟
spring.datasource.druid.removeAbandonedTimeout = 180
#关闭abanded连接时输出错误日志
spring.datasource.druid.logAbandoned = true

修改druid配置信息后,发现还是报错,各种一大堆,然后又仔细看了一下所有错误信息,发现不是一样的信息。
在这里插入图片描述

java.sql.SQLNonTransientConnectionException: Data source rejected establishment of connection, message from server: "Too many connections"

控制台报错信息为数据库连接数的问题,一时想不到解决方法就直接重启数据库,再次运行项目跑起来,各个页面都可以正常展示,功能都正常。我navicat连接数据库修改了一些数据后,再次访问页面又出现数据库连接数的问题了,然后在博客园找到了可以通过修改数据库的最大连接数来解决。
1、按win+R输入“cmd”,回车进入dos窗口
2、输入“mysql -uroot -p”,回车输入密码进入mysql
3、查看mysql连接数输入:show variables like ‘max_connections’;
在这里插入图片描述

4、修改连接数输入:set global max_connections=1000;
在这里插入图片描述
修改数据库最大连接数后前面的问题就全部解决了。
参考文献:
连接池溢出:https://blog.csdn.net/u014644574/article/details/112257795
数据库连接数修改:https://www.cnblogs.com/zscwb/p/12751133.html

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值