Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/307.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.sql.SQLException:拒绝用户访问';测试'@';本地主机';(使用密码:是)_Java_Mysql_Spring Boot_Spring Mvc_Spring Data Jpa - Fatal编程技术网

java.sql.SQLException:拒绝用户访问';测试'@';本地主机';(使用密码:是)

java.sql.SQLException:拒绝用户访问';测试'@';本地主机';(使用密码:是),java,mysql,spring-boot,spring-mvc,spring-data-jpa,Java,Mysql,Spring Boot,Spring Mvc,Spring Data Jpa,我用类似的问题检查了多个链接,但没有一个与我的案例相关 我试图从我的Spring引导代码访问MySQL,但我看到了这个错误 原因:java.sql.SQLException:用户'abcd'@'localhost'的访问被拒绝(使用密码:是) 在com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129)~[mysql-connector-java-8.0.13.jar:8.0.13] 在com.mysql

我用类似的问题检查了多个链接,但没有一个与我的案例相关

我试图从我的Spring引导代码访问MySQL,但我看到了这个错误

原因:java.sql.SQLException:用户'abcd'@'localhost'的访问被拒绝(使用密码:是)
在com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129)~[mysql-connector-java-8.0.13.jar:8.0.13]
在com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)~[mysql-connector-java-8.0.13.jar:8.0.13]
在com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)~[mysql-connector-java-8.0.13.jar:8.0.13]
在com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:835)~[mysql-connector-java-8.0.13.jar:8.0.13]
在com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:455)~[mysql-connector-java-8.0.13.jar:8.0.13]
在com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:240)~[mysql-connector-java-8.0.13.jar:8.0.13]
在com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:207)~[mysql-connector-java-8.0.13.jar:8.0.13]
在com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138)~[HikariCP-3.4.2.jar:na]
在com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:354)~[HikariCP-3.4.2.jar:na]
在com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:202)~[HikariCP-3.4.2.jar:na]
在com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:473)~[HikariCP-3.4.2.jar:na]
在com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:554)~[HikariCP-3.4.2.jar:na]
... 省略了88个公共框架
Application.properties:

spring.datasource.url=jdbc:mysql://127.0.0.1/test
spring.datasource.username=abcd
spring.datasource.password=password
spring.datasource.driver类名=com.mysql.jdbc.driver
spring.jpa.database-platform=org.hibernate.dial.mysql5dial
spring.jpa.generate ddl=true
spring.jpa.hibernate.ddl-auto=update
logging.level.web=debug
logging.level.org.hibernate.SQL=debug
我尝试更改url、用户名和密码

spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=password
我也试着直接给予

spring.datasource.url=jdbc:mysql://localhost:3306/test?user=root&password=password
我有一个配置类,如下所示

TestDataRepositoryConfig.java

import javax.persistence.EntityManagerFactory;
导入javax.sql.DataSource;
导入org.slf4j.Logger;
导入org.slf4j.LoggerFactory;
导入org.springframework.beans.factory.annotation.Autowired;
导入org.springframework.beans.factory.annotation.Value;
导入org.springframework.context.annotation.Bean;
导入org.springframework.context.annotation.Configuration;
导入org.springframework.orm.jpa.JpaTransactionManager;
导入org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
导入org.springframework.orm.jpa.vendor.hibernatejbavendorapter;
导入org.springframework.transaction.PlatformTransactionManager;
导入org.springframework.transaction.annotation.EnableTransactionManagement;
导入com.zaxxer.hikari.HikariConfig;
导入com.zaxxer.hikari.HikariDataSource;
@配置
@启用事务管理
公共类TestDataRepositoryConfig{
/**
*记录器
*/
私有静态最终记录器LOG=LoggerFactory.getLogger(TestDataRepositoryConfig.class);
@值(${spring.datasource.driver类名}”)
专用字符串驱动器类;
@值(${spring.datasource.url}”)
私有字符串jdbcUrl;
@值(${spring.datasource.username}”)
私有字符串jdbc用户名;
@值(${spring.datasource.password}”)
私有字符串jdbc密码;
@豆子
公共数据源数据源(){
LOG.info(“存储库配置”);
HikariConfig数据源配置=新HikariConfig();
dataSourceConfig.setDriverClassName(driverClass);
dataSourceConfig.setJdbcUrl(jdbcUrl);
dataSourceConfig.setUsername(jdbcUserName);
dataSourceConfig.setPassword(jdbcPassword);
返回新的HikariDataSource(dataSourceConfig);
}
@豆子
公共实体管理工厂实体管理工厂(){
HibernateJavaEndorapter vendorAdapter=新的HibernateJavaEndorapter();
vendorAdapter.setGenerateDdl(真);
LocalContainerEntityManagerFactoryBean工厂=新的LocalContainerEntityManagerFactoryBean();
工厂。setJpaVendorAdapter(供应商适配器);
setPackagesToScan(“com.project.db.entities”);
setDataSource(dataSource());
factory.AfterPropertieSet();
返回factory.getObject();
}
@豆子
公共平台TransactionManager TransactionManager 1(EntityManager工厂EntityManager工厂){
返回新的JpaTransactionManager(entityManagerFactory);
}
}
我没有我的机器的管理员权限,无法检查服务。但是我能够使用mySQL工作台通过root用户和'abcd'用户连接到mySQL服务器

我能够使用mySQL工作台通过root用户和'abcd'用户连接到mySQL服务器

我不太熟悉mySQL workbench,但您应该能够以“root”身份连接到数据库,并检查您尝试使用的帐户是否已正确创建。例如,运行

SELECT host, user FROM mysql.user WHERE user = 'root';
查看已为
根帐户创建的主机作用域。请注意,对于主机
localhost
%
,通常应该有单独的
user
行。MySQL访问控制系统不允许您从非本地主机IP地址验证
localhost
帐户或从本地主机IP地址验证
%
帐户

那儿