mysql数据库连接超时

连接数据库超时设置autoReconnect=true

* 问题现象:

```bash

Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last packet successfully received from the server was 21,582,820,423 milliseconds ago

.  The last packet sent successfully to the server was 21,582,820,425 milliseconds ago. is longer than the server configured value of 'wait_timeout'. You sho

uld consider either expiring and/or testing connection validity before use in your application, increasing the server configured values for client timeouts, 

or using the Connector/J connection property 'autoReconnect=true' to avoid this problem.

```

* 解决办法:

在mysql的连接URL中增加:autoReconnect=true&failOverReadOnly=false 两个配置

需要注意:如果是在XML里面配置,“&”需要替换成“&”

* 常用mysql的URL参数参考:

参数名称参数说明缺省值最低版本要求
user数据库用户名(用于连接数据库) 所有版本
password用户密码(用于连接数据库) 所有版本
useUnicode是否使用Unicode字符集,如果参数characterEncoding设置为gb2312或gbk,本参数值必须设置为truefalse1.1g
characterEncoding当useUnicode设置为true时,指定字符编码。比如可设置为gb2312或gbkfalse1.1g
autoReconnect当数据库连接异常中断时,是否自动重新连接?false1.1
autoReconnectForPools是否使用针对数据库连接池的重连策略false3.1.3
failOverReadOnly自动重连成功后,连接是否设置为只读?true3.0.12
maxReconnectsautoReconnect设置为true时,重试连接的次数31.1
initialTimeoutautoReconnect设置为true时,两次重连之间的时间间隔,单位:秒21.1
connectTimeout和数据库服务器建立socket连接时的超时,单位:毫秒。 0表示永不超时,适用于JDK 1.4及更高版本03.0.1
socketTimeoutsocket操作(读写)超时,单位:毫秒。 0表示永不超时03.0.1
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值