DanielPop 2015-04-09 10:21 采纳率: 33.3%
浏览 1739
已采纳

MySQL8小时自动断开连接

最近项目中使用连接池连接MySQL数据库, 过了8小时没人使用之后再使用就报错了
网上看了很多种解决方法, 但是没有满意答案
1. 修改mysql wait_timeout 配置
经理不让修改mysql配置. 据说最大也就修改为27天, 也是不大完美的方案.
2. jdbc url 添加authoReconnect=true.
无效 . 据说是mysql 5.0之前才支持
3. 设置maxIdleTime小于wait_timeout
使用Fabric, 其中设置maxIdle, 结果无效
4. 启动线程定时查询
每隔一段时间查询一次数据库, 这样做只会, 发现只有一个连接仍然可用,
连接池中的其他链接仍然不可用. 所以我猜想, 如果想通过这种方式完成,
就要遍历连接池中的所有连接, 不知如何实现.
综上, 应该如何解决这个问题?

  • 写回答

4条回答

  • cluo_dev 2015-04-10 01:40
    关注

    建议去查一下validationQuery和testOnBorrow两个配置属性,应该能解决你的问题。

    validationQuery SQL查询,用来验证从连接池取出的连接,在将连接返回给调用者之前.如果指定,
    则查询必须是一个SQL SELECT并且必须返回至少一行记录
    testOnBorrow true 指明是否在从池中取出连接前进行检验,如果检验失败,
    则从池中去除连接并尝试取出另一个.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 微信会员卡接入微信支付商户号收款
  • ¥15 如何获取烟草零售终端数据
  • ¥15 数学建模招标中位数问题
  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?