mysql服务等待应答超时_MySQL-Communications link failure异常分析及解决方法

一、异常日志

$ExecutionErrorOnPhysicalDBException: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

The last packet successfully received from the server was 151,463 milliseconds ago. The last packet sent successfully to the server was 2 milliseconds ago.

268e4018d0ce8e58913518ab63be8379.png

二、错误原因

MySQL服务在长时间不连接时断开了。

三、原因分析

从错误原因来看,是客户端连接MySQL服务时间过长,触发了MySQL服务机制,服务端主动断开了与客户端的连接。

四、解决方案

通过 登录MySQL服务,使用show global variable like '%timeout%'; 命令查看MySQL超时相关全局参数,找到 interactive_timeout、wait_timeout两个参数,查看该值设置得是否合理,interactive_timeout参数含义:服务器关闭交互式连接前等待活动的秒数,wait_timeout参数含义:服务器关闭非交互连接之前等待活动的秒数,两个参数的单位时间均为秒(s)。连接超过参数设定的时间时连接会断开,需要重新连接。在linux环境中两个参数值的范围为:1-31536000s。

ff427e8766b988aac3365041400e30f1.png

综上述:

方案一:可以同时修interactive_timeout、wait_timeout两个参数值来解决该问题,建议该值不要设置太大,这样会造成MySQL服务压力过大,最终导致不可用。(在$mysql_install_loal/etc/my.cnf配置文件中修改)--不推荐设置该值过大来解决该问题。

方案二:应用使用连接池设置超时时间或对MySQL服务进行心跳检测与服务端保持连接来避免该问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值