Communications link failure due to underlying exception:
** BEGIN NESTED EXCEPTION **
java.net.SocketException
MESSAGE: Broken pipe
STACKTRACE:
java.net.SocketException: Broken pipe
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
这个exception中我们可以得出是关于Socket的问题, 那么肯定就是关于网络方面的原因, 比如mysql down了。 或者网络有问题连不上mysql。
mysql会自动关闭掉空闲时间大于wait_timeout的连接。wait_timeout在可以在mysql配置文件里配置,默认的值是28800也就是8个小时。也就是说如果一个connection在8个小时候之内没有用使用过过的话, mysql server会把这个connection销毁掉。 这就是发生这个问题的原因了。 那么如何解决呢? 我们一般都用连接池来保存连接, 一般连接池都会有许多参数让你的连接池更高效。 我们以c3p0作为例子。 http://www.mchange.com/projects/c3p0/index.html, 这个是c3p0的文档,里面有许多参数,但是我们只要注意这个参数就行了。 maxIdleTime以下是对这个参数的解释。
引用
maxIdleTime
Default: 0
Seconds a Connection can remain pooled but unused before being discarded. Zero means idle connections never expire. [See "Basic Pool Configuration"]
在c3p0中maxIdleTime的默认值是0,也就是说永远都不会被expire, 解决这个问题的办法就是设置maxIdleTime比mysql的wait_timeout的值小一些就行了。
分享到:
相关推荐
简单的一个C# 与mysql本地管道连接的一个小demo 使用 MySql.Data.dll
MySQL中的异常处理是数据库编程中不可或缺的一部分,它允许开发者预设对可能出现的错误或异常的响应,从而确保程序的稳定性和健壮性。在MySQL中,异常定义和处理主要是通过`DECLARE`语句来实现的。 1. **异常定义**...
本实例展示了如何在MySQL存储过程中实现异常处理,以捕获并处理可能出现的错误。 首先,我们注意到在创建存储过程`myProc`时,使用了`delimiter $$`来改变MySQL客户端的语句分隔符,这是为了在存储过程中使用多个...
标题 "Mybatis破MySql8小时断线问题1" 指的是在使用Mybatis框架与MySQL数据库交互时遇到的一个常见问题,即由于MySQL数据库的连接超时机制导致的8小时断线。描述中提到,当数据库连接闲置时间超过MySQL默认设定的8...
在Centos上部署项目发现一个奇怪的问题,数据库连接一直抛异常。于是花了两个小时搜了各种数据库连接异常导致的原因,最终问题得以解决。同时,把解决过程中搜集到的异常信息汇总一下,当大家遇到类似的问题时,给...
本次异常的具体描述为:“Communications link failure due to underlying exception: **BEGINNESTED EXCEPTION** java.io.EOFException STACK TRACE: java.io.EOFException at com.mysql.jdbc.MysqlIO.readFully...
排查MySQL主从数据异常故障.pdf
MySQL数据库在进行写入操作时可能会遇到各种问题,其中一种常见的情况是系统崩溃,尤其是在使用ORM(对象关系映射)工具如SQLAlchemy时。SQLAlchemy是Python编程语言中广泛使用的库,它允许开发者以面向对象的方式...
Mysql 支持异常处理,通过定义 CONTINUE/EXIT 异常处理的 HANDLER 来捕获 SQLWARNING/NOT FOUND/SQLEXCEPTION (警告 / 无数据 / 其他异常)。其中, FOR 后面可以改为 SQLWARNING, NOT FOUND, SQLEXCEPTION 来指示...
MySQL驱动jar文件是Java应用程序与MySQL数据库之间通信的关键组件,主要功能是提供Java Database Connectivity (JDBC) API,使得Java开发者能够通过编写Java代码来执行SQL语句,从而操作MySQL数据库。标题提到的...
MySQL 异常恢复-drop 表恢复 MySQL 异常恢复是指在 MySQL 数据库出现异常情况时,恢复数据库的操作。drop 表恢复是指在 MySQL 数据库中删除表后,恢复被删除的表的操作。undrop-for-innodb 是一种恢复被删除的表的...
Dbmover for Mysql to Oracle 是高效的将Mysql导入到Oracle数据库的工具。 使用DBMover可以灵活定义Mysql和Oracle...记录每一条有异常的数据。并提供工具重复执行。 全面优化数据库操作,让大数据量的处理更少等待。
同时,对于生产环境,还需要配置合适的错误处理和异常捕获机制,以及数据库连接的关闭操作,以避免资源泄露。 总的来说,MySQL8的JDBC驱动不仅提供了与MySQL5相比的诸多新特性和性能提升,还增强了安全性。开发者在...
【MySQL异常检测算法】 随着互联网数据的爆炸性增长,服务器集群规模迅速扩大,对大规模集群进行监控和分析成为互联网行业运维的重要挑战。针对这一问题,本文提出的“基于监控数据的MySQL异常检测算法”旨在解决在...
这篇文档将深入解析标题"shell脚本可配置备份mysql5.7.8以前数据库异常sendEmail25发邮件.rar"中的关键知识点,包括shell脚本、MySQL数据库备份、异常处理以及sendEmail服务。 首先,我们要了解shell脚本。Shell...
总的来说,C#通过MySql.Data.dll与MySQL数据库的交互是.NET开发中的常见操作,涉及到数据库连接、SQL执行、异常处理等多个环节。了解和掌握这些知识,将有助于你在实际开发中构建稳定、高效的数据库应用程序。
最近老是忘记Mysql Command Line Client异常关闭该怎样解决,因此我整理了一套解决方案,省的以后再花时间去百度上搜,给自己提供一个捷径,本人纯小白,解决方案仅供参考。
本主题涉及如何利用C#和WinForms界面库DotNetBar来创建一个工具,实现MySQL数据库的一键安装以及监控其服务状态,包括开启、关闭和重启服务。以下是相关的知识点详解: 1. **C#编程语言**: C#是微软公司推出的一种...
MySQL是世界上最受欢迎的关系型数据库管理系统之一,而JDBC(Java Database Connectivity)是Java语言与数据库交互的标准接口。本文将深入探讨Mysql5.6和Mysql5.7的JDBC驱动,以及如何使用`mysql-connector-java-...