Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 不同的ip连接到mysql_Java_Mysql_Ip_Database Connection - Fatal编程技术网

Java 不同的ip连接到mysql

Java 不同的ip连接到mysql,java,mysql,ip,database-connection,Java,Mysql,Ip,Database Connection,当我想连接到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,userN

当我想连接到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)
java.sql.SQLException:用户'wim'@'192.168.0.205'的访问被拒绝(使用密码:是)
位于com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1078)
在com.mysql.jdbc.MysqlIO.checkErrorPacket上(MysqlIO.java:4187)
在com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4119)
在com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:927)上
位于com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:4686)
位于com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1304)
位于com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2483)
位于com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2516)
位于com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2301)
位于com.mysql.jdbc.ConnectionImpl(ConnectionImpl.java:834)
位于com.mysql.jdbc.JDBC4Connection(JDBC4Connection.java:47)
位于sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)
位于sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
在sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
位于java.lang.reflect.Constructor.newInstance(Constructor.java:525)
位于com.mysql.jdbc.Util.HandleneInstance(Util.java:411)
位于com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:416)
位于com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:346)
位于java.sql.DriverManager.getConnection(DriverManager.java:579)
位于java.sql.DriverManager.getConnection(DriverManager.java:221)
位于controller.db.GebruikerDatabankSQL.testGebruikerDatabankSQL(GebruikerDatabankSQL.java:31)
在run.NewMain.main处(NewMain.java:341)

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

您需要授予远程访问权限

先用这种方式授予权限

GRANT ALL ON kinderopvang.* to 'wim'@'192.168.0.135' IDENTIFIED BY 'wim'; 
FLUSH PRIVILEGES;

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

为您提供了解决方案,但我将发布此问题的答案

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

错误

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

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

发生这种情况是因为以下原因之一

  • 用户名是错误的
  • 密码是错误的
  • 您没有足够的权限访问数据库
    由于问题使用数据库名'kinderopvang',用户名'wim'和密码'wim',因此最好在答案中使用相同的值。建议使用
    root
    user来访问特定于应用程序的数据库是危险的。@我只是举了一个例子来尝试这种方法。它不是用精确的代码编写给用户的。但是谢谢你修改了它。不幸的是,这个例子也能起作用。一个无知的新手最终可能会使用它(不知道它的含义),因为谷歌对它的评价非常高。谢谢!修正了我的答案,但忘了发布!