2011-03-05 286 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

相關問題