首页 > 解决方案 > MySQL:驱动程序没有收到来自服务器的任何数据包

问题描述

首先对不起我的英语。

我的 iMac 上的开发环境有一个奇怪的问题。

我正在使用 MySQL 5.7 DB 和 Tomcat 8 开发 Spring Java Web 应用程序。

一开始一切正常,但不到一个小时,在 Servlet 容器上构建和重新部署我的 Web 应用程序后,突然无法访问数据库,我收到以下错误:

... The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
Could not get JDBC Connection; nested exception is java.sql.SQLException: Cannot create PoolableConnectionFactory Communications link failure ...

我确定 MySQL 已正确启动并运行,我可以使用终端客户端或 MySQL Workbench 连接并运行查询。

重新启动 RDBMS 不起作用。重新启动 Tomcat 不起作用。

唯一可行的方法是重新启动我的计算机,但经过一段时间并且很少重新部署相同的事情再次发生。

这似乎不是与 Web 应用程序(JDBC 连接池配置正确)或 MySQL 实例相关的问题。

似乎没有防火墙处于活动状态。

可能是我的网卡有问题吗?如何检查?

提前致谢。

更新:我按照另一个线程中的建议在 Java Launch 配置中传递了“-Djava.net.preferIPv4Stack=true”参数,它部分解决了。

现在 Web 应用程序无需重新启动计算机即可启动,但在http://localhost:8080/myapp上没有响应浏览器选项卡仍处于永久加载状态。

我需要调用http://127.0.0.1:8080/myapp并且它有效

似乎 localhost 没有正确解析,也许 IPV4 - IPV6 有问题,但我没有对我的网络配置进行任何更改。

标签: javamysqlspring-mvctomcat

解决方案


推荐阅读