druid报错discard connection,mysql报错Communications link failure
druid
阿里云计算平台DataWorks(https://help.aliyun.com/document_detail/137663.html) 团队出品,为监控而生的数据库连接池
项目地址:https://gitcode.com/gh_mirrors/druid/druid
免费下载资源
·
报错只出现在更新数据库的操作时,查询不会报错,并且有时候进行新增操作时会重复添加。
15:43:03.306 [http-nio-8080-exec-5] ERROR com.alibaba.druid.pool.DruidDataSource - discard connection
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
The last packet successfully received from the server was 74,907 milliseconds ago. The last packet sent successfully to the server was 1 milliseconds ago.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
问题分析:超过了数据库的等待时间无操作时,连接被回收。
尝试方法一:show variables like '%timeout%'查看wait_timeout的参数为1800秒,想着调大该参数DBA不允许,作罢。最后发现此方法其实是无用的。
尝试方法二:修改druid配置参数,超时等待时间小于1800秒,配置检测连接是否有效,依旧报错。
尝试方法三:jdbcurl参数后添加?autoReconnect=true&failOverReadOnly=false,无效。
最后找到原因,存放该数据库的服务器io太高,将数据库迁移到另一个服务器,解决问题。
GitHub 加速计划 / druid / druid
27.83 K
8.56 K
下载
阿里云计算平台DataWorks(https://help.aliyun.com/document_detail/137663.html) 团队出品,为监控而生的数据库连接池
最近提交(Master分支:3 个月前 )
f060c270 - 8 天前
1613a765
* Improve gaussdb ddl parser
* fix temp table 9 天前
更多推荐
已为社区贡献2条内容
所有评论(0)