【问题标题】:MySql Communications link failure, when connecting to MySQL连接到 MySQL 时,MySql 通信链接失败
【发布时间】:2015-01-27 00:01:49
【问题描述】:

我在 java 中开发了一个应用程序,它使用 Hibernate 和 mysql 作为后端。这个应用程序在每晚 12 点运行。该应用程序运行良好,但有时会显示

引起:com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: 通讯链路故障

从服务器成功接收到的最后一个数据包是 59,390,356 毫秒前。最后一个成功发送到服务器的数据包是 1 毫秒前。在 sun.reflect.GeneratedConstructorAccessor66.newInstance(未知来源) 在 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(未知 来源)在 java.lang.reflect.Constructor.newInstance(未知来源) 在 com.mysql.jdbc.Util.handleNewInstance(Util.java:409) 在 com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1118) 在 com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3055) 在 com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2941) 在 com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3489) 在 com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1959) 在 com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2113) 在 com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2568) 在 com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2113) 在 com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2275) 在 org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.extract(ResultSetReturnImpl.java:56) ... 19 更多原因:java.net.SocketException:软件导致 连接中止:recv 失败于 java.net.SocketInputStream.socketRead0(本机方法)在 java.net.SocketInputStream.read(Unknown Source) 在 java.net.SocketInputStream.read(Unknown Source) 在 com.mysql.jdbc.util.ReadAheadInputStream.fill(ReadAheadInputStream.java:114) 在 com.mysql.jdbc.util.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:161) 在 com.mysql.jdbc.util.ReadAheadInputStream.read(ReadAheadInputStream.java:189) 在 com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2499) 在 com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2952) ... 27 更多

我已经使用 IP 连接了我的应用程序,

192.168.0.25:3306/dbname?user=root&password=password

Myapplication 和 mysql 只能在同一台机器上运行。

我查看了很多论坛,但我无法弄清楚,任何人都建议我解决这个问题的正确方法。

【问题讨论】:

  • 你检查mysql服务是否正在运行?
  • @Arvind 是 mysql 服务正在运行。
  • 可能是 MySql 用完了最大数量。与您的应用的连接数。
  • @Arvind 如果我使用最大编号。连接方式,然后它是如何在平均时间工作的。我已经放置了一些调度程序,每天晚上都会触发我的应用程序。它在周一至周五工作正常。但是星期六它显示了这种类型的错误。
  • 也许你应该为 sat 安排一个时间表,以便在启用日志的情况下测试 mysql。

标签: java hibernate jdbc


【解决方案1】:

表示您的数据库尚未启动。 如果您使用 WAMP 或类似的 mysql 服务器然后启动这些服务器然后您的我的 sql 将启动

【讨论】:

  • 我用的是xampp,我的mysql状态只是running。
猜你喜欢
  • 2012-12-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-12
  • 2019-03-01
  • 1970-01-01
  • 2019-10-20
  • 2017-07-31
相关资源
最近更新 更多