java - jdbc4.CommunicationsException : Communications link failure

标签 java mysql

有人在执行某些查询时遇到过这样的错误吗? (jdbc4.CommunicationsException:通信链接失败)

一般来说,这个异常是应用程序和mysql之间的通信出现了一些问题。你可以找到很多关于可能原因的建议。

在我们的案例中没有任何帮助,经过几个小时的调查,事实证明原因可能完全不同。
也许下面的答案会节省一些人的时间:)

最佳答案

原来是mysql数据文件损坏导致的!!实际上,它可能会像 mysql 对大多数查询正常运行的方式那样被破坏。

如果您找到执行应用程序的查询(当抛出 CommunicationsException 时)并直接执行它,例如在 SQLyog 中,您将看到:
错误代码:2013
在查询期间丢失与 MySQL 服务器的连接

首先,查看mysql的.err日志文件。如果你有类似的情况,应该会报告很多错误,包括如下消息:
InnoDB:磁盘上的数据库页面损坏或失败

我们为快速解决问题所做的工作 - 我们将“innodb_force_recovery”设置为 1。这意味着对 MySQL 的指令:让服务器运行,即使它检测到损坏的页面

CommunicationsException 设置后消失,剩下的 - “简单地”数据库数据恢复 ;-)

一切顺利,
埃德加

关于java - jdbc4.CommunicationsException : Communications link failure,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5377736/

相关文章:

java - eclipse 米洛 : How to read history data?

java - 使用 Swing 布局我的基本应用程序很困难

java - 为什么返回的ResultSet为null

MYSQL - INSERT INTO 使用表 1 的 WHERE 条件

mysql - 有没有简单的方法可以直接将基于Web的MySQL DB转换为ER图?

java - 比较对象名称

java - 持久对象异常 : detached entity passed to persist - Got this exception when run method 2nd time

java - Spring批处理远程分块和远程分区之间的区别

mysql - 如何在 MySQL 中运行 SQL 脚本?

MYSQL 搜索表、位字段