jdbc4.CommunicationsException:通信链接失败

Edg*_*gar 3 java mysql

在某些查询执行的情况下,是否有人面临这样的错误?(jdbc4.CommunicationsException:通信链接失败)

通常,此异常意味着应用程序和mysql之间的通信问题.你可以找到很多关于可能原因的建议.

在我们的案例中没有任何帮助,经过几个小时的调查后发现原因可能完全不同.
也许下面的答案将节省一些时间:)

Edg*_*gar 5

所以,事实证明,原因可能是mysql数据文件的破坏!! 实际上,它可能会破坏mysql正常运行大多数查询的方式.

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

首先,看看mysql的域 .err日志文件.如果您有类似的情况,则应报告大量错误,包括以下消息:
InnoDB:磁盘上的数据库页损坏或失败

我们已经采取了哪些措施来快速解决问题 - 我们将"innodb_force_recovery"设置为1.这意味着对MySQL的指令:即使服务器检测到损坏的页面,也要运行它.

设置此项后,CommunicationsException消失了,剩下的就是"简单地"DB数据恢复;-)

一切顺利,
埃德加