mysql数据库报__No operations allowed after connection closed

部署后的项目,第二天发现其中的一个mysql连接数据源没有显示,打开日志后发现报错了(No operations allowed after connection closed) ,经过一番摆渡,发现是因为MySQL5及更新的版本会对超过8小时并且无任何操作的数据库连接进行关闭,但是你得数据库连接池并不知道此连接已失效,当你再次访问的时候,连接池就奉上此失效连接,so Exception.
关于解决此问题的方法,我做了以下两种尝试:

  1. url后加上autoReconnect=true
    这个方法我试用了,发现可以(看网上说官网不推荐这种解决方式,说是会出现 事务状态混淆),但我看官网上在5.1.45版本中专门对此问题做出了修复, 具体的大家可以测试测试
    在这里插入图片描述
  2. 数据库连接配置信息中加入
    validation-query:SELECT 1 (验证数据库连接的有效性)
    time-between-eviction-runs-millis:18800 (空闲连接回收的时间间隔)

注: 个人观点 仅供参考!!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值