java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES) Spring boot

13 浏览
0 Comments

java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES) Spring boot

我对这个问题进行了很多搜索,但是没有找到对我有用的解决方案。

我的数据库名称是:employee_management_system

我的Application.properties文件内容如下:

spring.datasource.url=jdbc:mysql://localhost:3306/employee_management_system
spring.datasource.username=root
spring.datasource.password=root  
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQLInnoDBDialect
spring.jpa.hibernate.ddl-auto=update

我的数据库连接信息如下:

主机:127.0.0.1
端口:3306
用户:root
密码:root
SSL:使用TLS_AES_256_GCM_SHA384启用

运行细节如下:

2020-09-21 21:50:14.752 INFO 4468 --- [ restartedMain] n.j.s.SpringbootBackendApplication : 正在启动SpringbootBackendApplication,PID为4468(位于C:\Users\L480\Desktop\Springboot-Backend\target\classes,由L480在C:\Users\L480\Desktop\Springboot-Backend中启动)

2020-09-21 21:50:14.755 INFO 4468 --- [ restartedMain] n.j.s.SpringbootBackendApplication : 没有设置活动配置文件,回退到默认配置文件:default

2020-09-21 21:50:14.816 INFO 4468 --- [ restartedMain] .e.DevToolsPropertyDefaultsPostProcessor : Devtools属性默认值已启用!将'spring.devtools.add-properties'设置为'false'以禁用

2020-09-21 21:50:14.816 INFO 4468 --- [ restartedMain] .e.DevToolsPropertyDefaultsPostProcessor : 要生成其他与Web相关的日志记录,可以将'logging.level.web'属性设置为'DEBUG'

2020-09-21 21:50:15.623 INFO 4468 --- [ restartedMain] .s.d.r.c.RepositoryConfigurationDelegate : 以DEFERRED模式引导Spring Data JPA存储库。

2020-09-21 21:50:15.682 INFO 4468 --- [ restartedMain] .s.d.r.c.RepositoryConfigurationDelegate : 在51ms内完成Spring Data存储库扫描。找到1个JPA存储库接口。

2020-09-21 21:50:16.332 INFO 4468 --- [ restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat初始化完成,端口号:8080(http)

2020-09-21 21:50:16.345 INFO 4468 --- [ restartedMain] o.apache.catalina.core.StandardService : 正在启动服务[Tomcat]

2020-09-21 21:50:16.345 INFO 4468 --- [ restartedMain] org.apache.catalina.core.StandardEngine : 正在启动Servlet引擎:[Apache Tomcat/9.0.37]

2020-09-21 21:50:16.476 INFO 4468 --- [ restartedMain] o.a.c.c.C.[Tomcat].[localhost].[/] : 正在初始化Spring嵌入式Web应用程序上下文

2020-09-21 21:50:16.477 INFO 4468 --- [ restartedMain] w.s.c.ServletWebServerApplicationContext : 根Web应用程序上下文初始化完成,耗时1660毫秒

2020-09-21 21:50:16.663 INFO 4468 --- [ restartedMain] o.s.s.concurrent.ThreadPoolTaskExecutor : 正在初始化ExecutorService 'applicationTaskExecutor'

2020-09-21 21:50:16.720 INFO 4468 --- [ task-1] o.hibernate.jpa.internal.util.LogHelper : HHH000204: 正在处理持久化单元信息 [名称:default]

2020-09-21 21:50:16.765 WARN 4468 --- [ restartedMain] JpaBaseConfiguration$JpaWebConfiguration : 默认情况下启用了spring.jpa.open-in-view。因此,在视图渲染期间可能执行数据库查询。请显式配置spring.jpa.open-in-view以禁用此警告

2020-09-21 21:50:16.778 INFO 4468 --- [ task-1] org.hibernate.Version : HHH000412: 使用的Hibernate ORM核心版本为5.4.20.Final

2020-09-21 21:50:16.956 INFO 4468 --- [ task-1] o.hibernate.annotations.common.Version : HCANN000001: 使用的Hibernate Commons Annotations版本为5.1.0.Final

2020-09-21 21:50:17.082 INFO 4468 --- [ task-1] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - 正在启动...

2020-09-21 21:50:17.180 INFO 4468 --- [ restartedMain] o.s.b.d.a.OptionalLiveReloadServer : LiveReload服务器正在端口35729上运行

2020-09-21 21:50:17.227 INFO 4468 --- [ restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat已启动,端口号:8080(http),上下文路径:''

2020-09-21 21:50:17.229 INFO 4468 --- [ restartedMain] DeferredRepositoryInitializationListener : 正在触发延迟初始化Spring Data存储库...

2020-09-21 21:50:18.540 ERROR 4468 --- [ task-1] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - 连接池初始化期间发生异常。

java.sql.SQLException: 用户'root'@'localhost'被拒绝访问(使用密码:YES)

at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129) ~[mysql-connector-java-8.0.21.jar:8.0.21]

at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97) ~[mysql-connector-java-8.0.21.jar:8.0.21]

at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) ~[mysql-connector-java-8.0.21.jar:8.0.21]

at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:836) ~[mysql-connector-java-8.0.21.jar:8.0.21]

at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:456) ~[mysql-connector-java-8.0.21.jar:8.0.21]

at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:246) ~[mysql-connector-java-8.0.21.jar:8.0.21]

at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:197) ~[mysql-connector-java-8.0.21.jar:8.0.21]

at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) ~[HikariCP-3.4.5.jar:na]

at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:358) ~[HikariCP-3.4.5.jar:na]

at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:206) ~[HikariCP-3.4.5.jar:na]

at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:477) ~[HikariCP-3.4.5.jar:na]

at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:560) ~[HikariCP-3.4.5.jar:na]

at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:115) ~[HikariCP-3.4.5.jar:na]

at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) ~[HikariCP-3.4.5.jar:na]

at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:122) ~[hibernate-core-5.4.20.Final.jar:5.4.20.Final]

at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcEnvironmentInitiator.java:180) ~[hibernate-core-5.4.20.Final.jar:5.4.20.Final]

at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:68) ~[hibernate-core-5.4.20.Final.jar:5.4.20.Final]

at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:35) ~[hibernate-core-5.4.20.Final.jar:5.4.20.Final]

at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:101) ~[hibernate-core-5.4.20.Final.jar:5.4.20.Final]

at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:263) ~[hibernate-core-5.4.20.Final.jar:5.4.20.Final]

at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:237) ~[hibernate-core-5.4.20.Final.jar:5.4.20.Final]

at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:214) ~[hibernate-core-5.4.20.Final.jar:5.4.20.Final]

at org.hibernate.id.factory.internal.DefaultIdentifierGeneratorFactory.injectServices(DefaultIdentifierGeneratorFactory.java:152) ~[hibernate-core-5.4.20.Final.jar:5.4.20.Final]

at org.hibernate.service.internal.AbstractServiceRegistryImpl.injectDependencies(AbstractServiceRegistryImpl.java:286) ~[hibernate-core-5.4.20.Final.jar:5.4.20.Final]

at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:243) ~[hibernate-core-5.4.20.Final.jar:5.4.20.Final]

at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:214) ~[hibernate-core-5.4.20.Final.jar:5.4.20.Final]

at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.(InFlightMetadataCollectorImpl.java:176) ~[hibernate-core-5.4.20.Final.jar:5.4.20.Final]

at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:118) ~[hibernate-core-5.4.20.Final.jar:5.4.20.Final]

at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:1224) ~[hibernate-core-5.4.20.Final.jar:5.4.20.Final]

at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1255) ~[hibernate-core-5.4.20.Final.jar:5.4.20.Final]

at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:58) ~[spring-orm-5.2.8.RELEASE.jar:5.2.8.RELEASE]

at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:365) ~[spring-orm-5.2.8.RELEASE.jar:5.2.8.RELEASE]

at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:391) ~[spring-orm-5.2.8.RELEASE.jar:5.2.8.RELEASE]

at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[na:na]

at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130) ~[na:na]

at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630) ~[na:na]

at java.base/java.lang.Thread.run(Thread.java:832) ~[na:na]

2020-09-21 21:50:18.542 WARN 4468 --- [ task-1] o.h.e.j.e.i.JdbcEnvironmentInitiator : HHH000342: 无法获取连接以查询元数据:用户'root'@'localhost'被拒绝访问(使用密码:YES)

2020-09-21 21:50:18.573 INFO 4468 --- [ task-1] org.hibernate.dialect.Dialect : HHH000400: 使用的方言为org.hibernate.dialect.MySQLInnoDBDialect

2020-09-21 21:50:19.163 INFO 4468 --- [ task-1] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - 正在启动...

2020-09-21 21:50:20.200 ERROR 4468 --- [ task-1] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - 连接池初始化期间发生异常。

java.sql.SQLException: 用户'root'@'localhost'被拒绝访问(使用密码:YES)

at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129) ~[mysql-connector-java-8.0.21.jar:8.0.21]

at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97) ~[mysql-connector-java-8.0.21.jar:8.0.21]

at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) ~[mysql-connector-java-8.0.21.jar:8.0.21]

at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:836) ~[mysql-connector-java-8.0.21.jar:8.0.21]

at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:456) ~[mysql-connector-java-8.0.21.jar:8.0.21]

at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:246) ~[mysql-connector-java-8.0.21.jar:8.0.21]

at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:197) ~[mysql-connector-java-8.0.21.jar:8.0.21]

at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) ~[HikariCP-3.4.5.jar:na]

at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:358) ~[HikariCP-3.4.5.jar:na]

at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:206) ~[HikariCP-3.4.5.jar:na]

at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:477) ~[HikariCP-3.4.5.jar:na]

at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:560) ~[HikariCP-3.4.5.jar:na]

at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:115) ~[HikariCP-3.4.5.jar:na]

at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) ~[HikariCP-3.4.5.jar:na]

at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:122) ~[hibernate-core-5.4.20.Final.jar:5.4.20.Final]

at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcEnvironmentInitiator.java:180) ~[hibernate-core-5.4.20.Final.jar:5.4.20.Final]

at org.hibernate.resource.transaction.backend.jdbc.internal.DdlTransactionIsolatorNonJtaImpl.getIsolatedConnection(DdlTransactionIsolatorNonJtaImpl.java:43) ~[hibernate-core-5.4.20.Final.jar:5.4.20.Final]

at org.hibernate.tool.schema.internal.exec.ImprovedExtractionContextImpl.getJdbcConnection(ImprovedExtractionContextImpl.java:60) ~[hibernate-core-5.4.20.Final.jar:5.4.20.Final]

at org.hibernate.tool.schema.internal.exec.ImprovedExtractionContextImpl.getJdbcDatabaseMetaData(ImprovedExtractionContextImpl.java:67) ~[hibernate-core-5.4.20.Final.jar:5.4.20.Final]

at org.hibernate.tool.schema.extract.internal.InformationExtractorJdbcDatabaseMetaDataImpl.getTables(InformationExtractorJdbcDatabaseMetaDataImpl.java:333) ~[hibernate-core-5.4.20.Final.jar:5.4.20.Final]

at org.hibernate.tool.schema.extract.internal.DatabaseInformationImpl.getTablesInformation(DatabaseInformationImpl.java:120) ~[hibernate-core-5.4.20.Final.jar:5.4.20.Final]

at org.hibernate.tool.schema.internal.GroupedSchemaMigratorImpl.performTablesMigration(GroupedSchemaMigratorImpl.java:65) ~[hibernate-core-5.4.20.Final.jar:5.4.20.Final]

at org.hibernate.tool.schema.internal.AbstractSchemaMigrator.performMigration(AbstractSchemaMigrator.java:207) ~[hibernate-core-5.4.20.Final.jar:5.4.20.Final]

at org.hibernate.tool.schema.internal.AbstractSchemaMigrator.doMigration(AbstractSchemaMigrator.java:114) ~[hibernate-core-5.4.20.Final.jar:5.4.20.Final]

at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.performDatabaseAction(SchemaManagementToolCoordinator.java:184) ~[hibernate-core-5.4.20.Final.jar:5.4.20.Final]

at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.process(SchemaManagementToolCoordinator.java:73) ~[hibernate-core-5.4.20.Final.jar:5.4.20.Final]

at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:316) ~[hibernate-core-5.4.20.Final.jar:5.4.20.Final]

at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:469) ~[hibernate-core-5.4.20.Final.jar:5.4.20.Final]

at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1259) ~[hibernate-core-5.4.20.Final.jar:5.4.20.Final]

at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:58) ~[spring-orm-5.2.8.RELEASE.jar:5.2.8.RELEASE]

at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:365) ~[spring-orm-5.2.8.RELEASE.jar:5.2.8.RELEASE]

at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:391) ~[spring-orm-5.2.8.RELEASE.jar:5.2.8.RELEASE]

at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[na:na]

at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130) ~[na:na]

at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630) ~[na:na]

at java.base/java.lang.Thread.run(Thread.java:832) ~[na:na]

2020-09-21 21:50:20.203 WARN 4468 --- [ task-1] o.h.engine.jdbc.spi.SqlExceptionHelper : SQL错误:1045,SQL状态:28000

2020-09-21 21:50:20.203 ERROR 4468 --- [ task-1] o.h.engine.jdbc.spi.SqlExceptionHelper : 用户'root'@'localhost'被拒绝访问(使用密码:YES)

2020-09-21 21:50:20.218 WARN 4468 --- [ restartedMain] ConfigServletWebServerApplicationContext : 在上下文初始化期间遇到异常 - 取消刷新尝试:org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'employeeDao' defined in net.javaguides.springboot.dao.EmployeeDao defined in @EnableJpaRepositories declared on JpaRepositoriesRegistrar.EnableJpaRepositoriesConfiguration: Cannot resolve reference to bean 'jpaMappingContext' while setting bean property 'mappingContext'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jpaMappingContext': Invocation of init method failed; nested exception is javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.exception.GenericJDBCException: Unable to open JDBC Connection for DDL execution

2020-09-21 21:50:20.221 INFO 4468 --- [ restartedMain] j.LocalContainerEntityManagerFactoryBean : 正在关闭持久化单元“default”的JPA EntityManagerFactory

2020-09-21 21:50:20.222 WARN 4468 --- [ restartedMain] o.s.b.f.support.DisposableBeanAdapter : 在名为'entityManagerFactory'的bean上调用销毁方法失败:javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.exception.GenericJDBCException: Unable to open JDBC Connection for DDL execution

2020-09-21 21:50:20.222 INFO 4468 --- [ restartedMain] o.s.s.concurrent.ThreadPoolTaskExecutor : 正在关闭ExecutorService 'applicationTaskExecutor'

2020-09-21 21:50:20.253 INFO 4468 --- [ restartedMain] o.apache.catalina.core.StandardService : 正在停止服务[Tomcat]

2020-09-21 21:50:20.268 INFO 4468 --- [ restartedMain] ConditionEvaluationReportLoggingListener :

ApplicationContext的启动失败。要显示条件报告,请使用'debug'模式重新运行应用程序。

2020-09-21 21:50:20.272 ERROR 4468 --- [ restartedMain] o.s.boot.SpringApplication : 应用程序运行失败

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'employeeDao' defined in net.javaguides.springboot.dao.EmployeeDao defined in @EnableJpaRepositories declared on JpaRepositoriesRegistrar.EnableJpaRepositoriesConfiguration: Cannot resolve reference to bean 'jpaMappingContext' while setting bean property 'mappingContext'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jpaMappingContext': Invocation of init method failed; nested exception is javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.exception.GenericJDBCException: Unable to open JDBC Connection for DDL execution....................

进程以退出码0结束。

0
0 Comments

在处理类似问题时,如果您的数据源URL存在任何错误拼写或错误的URL格式,导致无法建立连接,您可能会遇到此错误。

java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)

在我的情况下,我将数据源URL值设置为jdbc:mysql:/localhost:3306/upic,缺少了一个/,使其变得不正确。将其更改为jdbc:mysql://localhost:3306/upic解决了我的问题。

然而,这个问题的堆栈跟踪根本原因略有不同。

0
0 Comments

这个错误与Spring框架或Spring Boot无关,而是与MySQL配置有关。错误的根本原因是没有为'root'用户在'localhost'上授权访问。在StackOverflow上有很多关于这个问题的提问和解答。你可以尝试按照以下方式配置你的应用程序来解决这个问题:

spring.datasource.url=jdbc:mysql://127.0.0.1:3306/employee_management_system

如果这个方法有效,请考虑接受一个回答:stackoverflow.com/help/someone-answers

0