2015-07-11 51 views
1

我正在使用mysql與我的數據庫建立連接。代碼工作正常,但如果我輸入了錯誤的用戶名/密碼/主機/數據庫,我可以得到一個日誌消息,該部分是錯誤的?下面是代碼:Java和MySQL可以有調試日誌?

private void connectDatabase() 
{ 
    try { 
     connection = DriverManager.getConnection("jdbc:mysql://" + hostname + ":" + port + "/" 
       + database + "?autoReconnect=true", username, password); 
     System.out.println("[MySQL] The connection to MySQL is made!"); 
    } catch (SQLException e) { 
     System.out.println("[MySQL] The connection to MySQL couldn't be made! reason: " 
         + e.getMessage()); 
    } 
} 

例:我輸入了錯誤的密碼,我得到這個錯誤日誌:

[MySQL] The connection to MySQL couldn't be made! reason: Wrong password. 

這可能嗎?

+0

你可以嘗試,並檢查 –

+0

我想嘗試,但這個想法是我不知道從哪裏開始。 –

+0

你的代碼很好,除非你得到的消息會更詳細。 –

回答

0

對於MySQL,你會得到一個SQLExcpetion,類似下面:

Caused by: java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES) 
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073) ~[mysql-connector-java-5.1.18.jar:na] 
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3609) ~[mysql-connector-java-5.1.18.jar:na] 
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3541) ~[mysql-connector-java-5.1.18.jar:na] 
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:943) ~[mysql-connector-java-5.1.18.jar:na] 
    at com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:4113) ~[mysql-connector-java-5.1.18.jar:na] 
... 

SQLException都具有SQLSTATE = 28000,且vendorCode = 1045

+0

我使用的是默認的java mysql。在服務器mysql主機上安裝jdbc並在eclipse中使用它可能會起作用。默認的java mysql只發送1條消息:「無法創建與數據庫服務器的連接」 –

+0

有多種錯誤 - 我在上面顯示的錯誤密碼是特定的。如果服務器關閉,那麼,您將得到不同的錯誤 –