我正在尝试与mysql的jdbc连接,但获得SQLException .
我的代码是: -
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'拒绝访问(使用密码:否)
我正在尝试连接到172.168.1.73,但它正在尝试连接到192.168.1.187 ...
root用户没有任何密码 .
请告诉我如何解决这个问题 .
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了解更多详情 .
为了更安全,您需要分配root密码并再次尝试 . 下面的页面包含连接到mysql数据库的Java代码:http://www.worldbestlearningcenter.com/index_files/java_database_connect_mysql.htm