2011-03-05 80 views
19

问题是什么?无法连接到数据库?无法创建PoolableConnectionFactory

org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (
      Communications link failure 
    The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.) 
+4

请发布**完整** stacktrace来代替。没有堆栈跟踪,我们无法理解这个错误的**根**原因。 – 2011-03-05 12:10:32

+0

在Linux中,我必须通过键入“service mysqld start”来启动服务。 – MacGyver 2015-06-11 21:27:35

回答

19

这是实际原因的问题:

所致: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: 通信链路故障

你有一个数据库通信链接问题。确保您的应用程序具有对数据库的网络访问权限(并且防火墙不阻止数据库的端口)。

+3

对于后代来说,当我在dev环境中重新启动计算机并且数据库未运行时,我每个月都会遇到此问题。我希望这可以帮助别人做出同样愚蠢的错误。 – user2217751 2013-06-14 20:18:39

0

发生这种情况是因为防火墙阻止了数据库连接。

禁用防火墙,然后再次尝试运行该程序。它为我工作...:D

3

这是一个网络问题。检查你的数据库连接。 您的数据库连接链接,用户名和密码错误或数据库服务器已停止。

3

我在源URL中遇到了与localhost相同的问题。 我用127.0.0.1而不是localhost解决。

2

我在厨师的VirtualBox虚拟机上设置tomcat和mysql服务器时遇到同样的问题。

在这种情况下

,我认为真正的问题是VirtualBox的似乎分配非本地主机地址为eth0像

[[email protected] webapps]$ /sbin/ifconfig 
eth0  Link encap:Ethernet HWaddr 08:00:27:60:FC:47 
     inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0 

然后使用10.0.2.15作为mysql服务器的绑定地址厨师的食谱自动检测功能。

所以指定绑定地址为主厨的食谱节点参数在我的情况下解决问题。我希望这些信息可以帮助那些和流浪汉一起使用厨师的人。

{ 
    "name" : "db", 
    "default_attributes" : { 
    "mysql" : { 
    "bind_address" : "localhost" 
    ... 
    } 
3

这里是由avast杀毒引起的。您可以禁用avast防火墙,并只让Windows防火墙处于活动状态。

-1

如果您使用的Apache Tomcat 8.0版本,而不是它,使用Tomcat 7.0 我试过的localhost 127.0.0.1,然后关闭防火墙,但不能正常工作,但使用Tomcat 7.0,现在工作

-1

我有一个类似的错误。更改JDBC URL以使用127.0.0.1而不是localhost帮助。

也曾尝试更改catalina.policy文件中的条目,但没有帮助。 我更改的条目是 - java.net.SocketPermission

相关问题