2016-09-12 59 views
1

我剛剛建立了一個本地MySQL數據庫。我可以通過命令行和第三方軟件(Navicat ..)正確連接它。的Java:無法連接到MySQL數據庫

服務器:localhost:3306

用戶:root

密碼:password

數據庫名稱:students

然而,當我試圖用java連接,我得到一個錯誤。

CODE:

import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.ResultSet; 
import java.sql.SQLException; 
import java.sql.Statement; 

public class Sql { 

    public static void main(String[] args) { 

    Connection conn = null; 

    try { 

     Class.forName("com.mysql.jdbc.Driver"); 

     conn = DriverManager.getConnection("jdbc:mysql://localhost:3306//students?autoReconnect=true&useSSL=false", 
       "root", "password"); 

     Statement sqlState = conn.createStatement(); 


    } catch (SQLException ex) { 

     System.out.println("SQLException" + ex.getMessage()); 
     System.out.println("SQLException" + ex.getSQLState()); 

    } catch (ClassNotFoundException e) { 
     e.printStackTrace(); 
    } 

    } 

} 

OUTPUT:

SQLExceptionCould not create connection to database server. Attempted reconnect 3 times. Giving up. 
SQLException08001 

也試過:

conn = DriverManager.getConnection("jdbc:mysql://localhost:3306//students", "root", "password"); 

conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306//students?autoReconnect=true&useSSL=false","root", "password"); 

附加嘗試:

防火牆被禁用。

C:

我通過將.bin.jar在安裝Jconnector \ Program Files文件\的Java \ jdk1.8.0_73 \ JRE \ lib中\分機

我可以看到它Eclipse中左側的JRE和導入不會導致錯誤。

注:

從終端,工作臺或Navicat的使用MySQL不提供任何錯誤,任何查詢工作,在本地服務器運行正常和憑據正確,用戶擁有完全管理權限的。

有什麼建議嗎?

+1

您能夠通過MySQL的控制檯或工作臺 – Abhijeet

+0

登錄是我,因爲我在開始的時候寫的。 –

+1

不應該'localhost:3306/students'?不知道 –

回答

0

此異常可以有4個原因:

  1. 用戶沒有權限連接到數據庫。
  2. MySQL服務沒有運行。
  3. 不正確的MySQL連接器罐。
  4. 數據庫URL是不正確;.

檢查上述先決條件連接到MySQL數據庫之前。

+3

5防火牆,6端口配置,7 .... 8 ... – Matt