0

当我想连接到 mysql 数据库时,ip 似乎发生了变化。问题是什么?

Class.forName("com.mysql.jdbc.Driver").newInstance();
String url = "jdbc:mysql://192.168.0.135:3306/kinderopvang";
String userName = "wim";
String password = "wim";
Connection conn=DriverManager.getConnection(url,userName,password);

这是错误:

java.sql.SQLException: Access denied for user 'wim'@'192.168.0.205' (using password: YES)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1078)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4187)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4119)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:927)
at com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:4686)
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1304)
at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2483)
at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2516)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2301)
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:834)
at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:416)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:346)
at java.sql.DriverManager.getConnection(DriverManager.java:579)
at java.sql.DriverManager.getConnection(DriverManager.java:221)
at controller.db.GebruikerDatabankSQL.testGebruikerDatabankSQL(GebruikerDatabankSQL.java:31)
at run.NewMain.main(NewMain.java:341)

如您所见,我想连接到 IP 地址 192.168.0.135 但我连接到 192.168.0.205 这是我自己的 IP 地址

4

3 回答 3

2

您需要授予远程访问权限

首先使用这种方式授予权限

GRANT ALL ON kinderopvang.* to 'wim'@'192.168.0.135' IDENTIFIED BY 'wim'; 
FLUSH PRIVILEGES;
于 2013-10-29T11:20:39.467 回答
0

它说用户 wim@yourIP 无权访问其他 IP,因此您必须授予远程访问权限。

于 2013-10-29T11:22:31.807 回答
0

@javaBeginner为您提供了解决方案,但我将这个答案发布到您的问题。

我想连接到 IP 地址 192.168.0.135 但我连接到 192.168.0.205 这是我自己的 IP 地址

错误

用户'wim'@'192.168.0.205'的访问被拒绝(使用密码:是)

这意味着您的机器(IP 192.168.0.205)没有足够的权限访问kinderopvang机器(IP 192.168.0.135)的数据库。

发生这种情况是由于以下原因之一。

  1. 用户名错误。
  2. 密码错误。
  3. 您没有足够的权限访问数据库。
于 2013-10-29T12:30:07.667 回答