2014-01-30 68 views
0

我有一個從Java連接到mySQL的問題。我在NetBeans中使用Linux,並下載了特定的驅動程序。我在xampp中有mySQL。從Linux中的JAVA與mySQL的連接

我的代碼是:

try { 
    Class.forName("com.mysql.jdbc.Driver"); 
    Connection c = DriverManager.getConnection(
      "jdbc:mysql://localhost:3306/nombreBaseDatos", 
      "user", 
      "pass" 
    ); 
} catch (ClassNotFoundException ex) { 
    Logger.getLogger(BD1.class.getName()).log(Level.SEVERE, null, ex); 
} catch (SQLException ex) { 
    Logger.getLogger(BD1.class.getName()).log(Level.SEVERE, null, ex); 
} 

而我得到的錯誤是這樣的:

com.mysql.jdbc.CommunicationsException:通信鏈路故障 由於底層異常:

** BEGIN嵌套異常**

java.net.ConnectException MESSAGE:Conexió Ñrehusada

堆棧跟蹤:

java.net.ConnectException:在 java.net.PlainSocketImpl.socketConnect(本機方法)在 java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)Conexiónrehusada 在 java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200) 在 java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182) 在java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)在 java.net.Socket.connect(Socket.java:579)at java.net.Socket.connect(Socket.java:528)at java.net.Socket。(Socket.java:425)at java.net.Socket。(Socket.java:241) at com.mysql .jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:256) 在com.mysql.jdbc.MysqlIO。(MysqlIO.java:271)在 com.mysql.jdbc.Connection.createNewIO(Connection.java:2771)在 com.mysql.jdbc.Connection。(Connection.java:1555)at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:285) at java.sql.DriverManager.getConnection(DriverManager.java:571)at java.sql.DriverManager.getConnection(DriverManager.java:215)at bd.pkg1.BD1.main(BD1.java:25)

** END NESTED EXCEPTION **

發送到服務器的最後一個數據包是1毫秒前。在 com.mysql.jdbc.Connection.createNewIO(Connection.java:2847)at com.mysql.jdbc.Connection。(Connection.java:1555)at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java :285) 在java.sql.DriverManager.getConnection(DriverManager.java:571)在 java.sql.DriverManager.getConnection(DriverManager.java:215)

有人可以幫我做這方面?

回答

0

這表明,我認爲MySQL是不接受本地主機的連接:3306

是這種情況?是否簡單

telnet localhost 3306 

連接到您的機器上的接收端口?你需要configure MySql這樣的連接嗎?

+0

我試着用「jdbc:mysql:// localhost/nombreBaseDatos」等其他連接字符串得到相同的代碼,錯誤也是一樣的 –

+0

正如Brian所建議的那樣:您的MySQL服務器不接受給定端口上的連接。也許它沒有啓動或防火牆已經到位,阻止你連接。 – rli