2012-01-05 105 views
0

我正在嘗試與mysql的jdbc連接,但獲取SQLException。與MYSQL5.1的JDBC連接

我的代碼是: -

public void createConn() throws MysqlException { 

    try { 
       String url ="jdbc:mysql://172.168.1.73:3306/mysql"; 
       Connection con =DriverManager.getConnection(url,"root", ""); 
       System.out.println("URL: " + url); 
       System.out.println("Connection: " + con); 
     } 

我得到以下異常......

值java.sql.SQLException:拒絕訪問用戶root'@'192.168.1.187「 (使用密碼:NO)

我試圖連接到172.168.1.73,但它正試圖coonect到192.168.1.187 ......

root用戶沒有任何密碼。

請告訴我如何解決這個問題。

+0

什麼是你的數據庫架構的名字嗎?它是** mysql **嗎? – Lion 2012-01-05 04:12:53

回答

2

檢查root用戶是否可以與IP 192.168.1.187

它不試圖連接到192.168.1.187訪問機器。

'root'@'192.168.1.187'在例外情況下意味着在IP爲'192.168.1.187'的計算機上嘗試訪問數據庫服務器的用戶名爲「root」。因此192.168.1.187是客戶端IP。

數據庫服務器根據用戶和機器用戶用於連接的IP來限制訪問。因此,如果要從IP「192.168.1.187」連接到數據庫服務器,則應該授予訪問該用戶以從該特定IP訪問的權限。

檢查MySQL GRANT瞭解更多詳情。

+0

正是我在想什麼。 +1。 – 2012-01-05 04:21:39

+0

感謝您的幫助......現在工作。根還不能使用192.168.1.187 IP ... – Anjali 2012-01-05 04:24:50

+0

我想知道我怎樣才能知道哪些數據庫訪問哪個用戶???? – Anjali 2012-01-05 04:25:50