java - 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 有问题,但我没有对我的网络配置进行任何更改。
解决方案
推荐阅读
- swift - 如何快速从字典中删除空键值对
- python - 添加概率,得到概率最高的id
- c - getchar() 函数不会仅在 while 循环中第一次被调用
- python - Python 3,使用 KeyError 0 从字典中获取键
- python - 如何将字符串中的每个字符更改为之前的字符并保持python的原始顺序?
- python - ImportError:没有名为“ronshome.wsgi”的模块
- bash - telnet 到来自多个来源的多个目标 IP 和端口
- mysql - 选择查询 3 个连接表
- rest - 如何传递参数以将数据发布到 REST API?
- unity3d - Unity - HDRI Skybox 用作眼睛适应/色调映射的光源