Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.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 拒绝用户访问';app&x27@';10.200.100.100';(使用密码:是)_Java_Mysql_Hibernate_Spring Boot - Fatal编程技术网

Java 拒绝用户访问';app&x27@';10.200.100.100';(使用密码:是)

Java 拒绝用户访问';app&x27@';10.200.100.100';(使用密码:是),java,mysql,hibernate,spring-boot,Java,Mysql,Hibernate,Spring Boot,我正在尝试从我的应用程序连接到mysql数据库。我遇到了一个奇怪的问题。我试图搜索所有的论坛,但没有找到类似的问题。我有一个名为app的用户,并被授予从“%”进行连接的权限,我知道这是从任何IP进行连接。我可以从mysql工作台(远程机器)连接。但当我尝试从我的应用服务器连接到数据库时,我发现了以下错误。密码正确,服务器配置正确。我的机器也是一台远程机器,我可以连接而不出任何问题。我的应用程序是带hibernate的spring boot。请对此提供帮助。我必须特别授予此IP特权吗 Caused

我正在尝试从我的应用程序连接到mysql数据库。我遇到了一个奇怪的问题。我试图搜索所有的论坛,但没有找到类似的问题。我有一个名为app的用户,并被授予从“%”进行连接的权限,我知道这是从任何IP进行连接。我可以从mysql工作台(远程机器)连接。但当我尝试从我的应用服务器连接到数据库时,我发现了以下错误。密码正确,服务器配置正确。我的机器也是一台远程机器,我可以连接而不出任何问题。我的应用程序是带hibernate的spring boot。请对此提供帮助。我必须特别授予此IP特权吗

Caused by: java.sql.SQLException: Access denied for user 'app'@'10.200.100.100' (using password: YES)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:957)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3878)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3814)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:871)
    at com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1694)
    at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1215)
    at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2255)
    at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2286)
    at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2085)
    at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:795)
    at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:44)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:404)
    at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:400)
    at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:327)
    at java.sql.DriverManager.getConnection(DriverManager.java:664)
    at java.sql.DriverManager.getConnection(DriverManager.java:208)
    at org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriverManager(DriverManagerDataSource.java:153)
    at org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriver(DriverManagerDataSource.java:144)
    at org.springframework.jdbc.datasource.AbstractDriverBasedDataSource.getConnectionFromDriver(AbstractDriverBasedDataSource.java:155)
    at org.springframework.jdbc.datasource.AbstractDriverBasedDataSource.getConnection(AbstractDriverBasedDataSource.java:120)
    at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:139)
    at org.hibernate.internal.AbstractSessionImpl$NonContextualJdbcConnectionAccess.obtainConnection(AbstractSessionImpl.java:380)
    at org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.obtainConnection(LogicalConnectionImpl.java:228)
    ... 67 more
原因:java.sql.SQLException:用户“app”@'10.200.100.100(使用密码:YES)的访问被拒绝
位于com.mysql.jdbc.SQLError.createSQLException(SQLError.java:957)
在com.mysql.jdbc.MysqlIO.checkErrorPacket上(MysqlIO.java:3878)
在com.mysql.jdbc.MysqlIO.checkErrorPacket上(MysqlIO.java:3814)
在com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:871)上
在com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1694)上
位于com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1215)
位于com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2255)
位于com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2286)
位于com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2085)
位于com.mysql.jdbc.ConnectionImpl(ConnectionImpl.java:795)
位于com.mysql.jdbc.JDBC4Connection(JDBC4Connection.java:44)
位于sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)
位于sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
在sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
位于java.lang.reflect.Constructor.newInstance(Constructor.java:423)
位于com.mysql.jdbc.Util.HandleneInstance(Util.java:404)
位于com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:400)
位于com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:327)
位于java.sql.DriverManager.getConnection(DriverManager.java:664)
位于java.sql.DriverManager.getConnection(DriverManager.java:208)
位于org.springframework.jdbc.datasource.DriverManager数据源.getConnectionFromDriverManager(DriverManager数据源.java:153)
位于org.springframework.jdbc.datasource.driverManager数据源.getConnectionFromDriver(driverManager数据源.java:144)
位于org.springframework.jdbc.datasource.AbstractDriverBasedDataSource.getConnectionFromDriver(AbstractDriverBasedDataSource.java:155)
位于org.springframework.jdbc.datasource.AbstractDriverBasedDataSource.getConnection(AbstractDriverBasedDataSource.java:120)
位于org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:139)
位于org.hibernate.internal.AbstractSessionImpl$NonContextualJdbcConnectionAccess.ActainConnection(AbstractSessionImpl.java:380)
位于org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.ActainConnection(LogicalConnectionImpl.java:228)
... 67多

你可以试试这个来获得特权

grant all privileges on databasename.* to app@10.200.100.100 identified by 'yourpassword'; 将databasename.*上的所有权限授予app@10.200.100.100由“您的密码”标识;
修改权限后不要忘记刷新权限


刷新权限

最有可能的解释是作为不同用户连接。我建议您检查可能的其他匹配项。MySQL有一个查找匹配用户的特定顺序。它可能在到达
'app'@%
之前匹配了一个用户。我建议您检查其他用户
从mysql中选择用户、主机。按用户、主机的用户顺序。另外,MySQL中是否禁用了反向DNS查找?i、 e.
--跳过名称解析
您是否尝试从连接失败的同一台计算机通过MySQL CLI进行连接?我已刷新,甚至尝试重新启动数据库。