2012-01-05 107 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