繁体   English   中英

弹簧启动无法连接到MYSQL数据库(Web应用程序)

[英]Connection to MYSQL database failing with spring boot (Web application)

我正在尝试使用MySQL服务器创建OAuth2登录功能。

尝试运行Spring Web应用程序时出现此错误。 我在尝试将应用程序与MySQL服务器连接时遇到了几个问题,这不是SQL Server名称拼写错误的问题。

2018-04-27 18:39:52.883  WARN 62329 --- [           main] o.h.e.j.e.i.JdbcEnvironmentInitiator     : HHH000342: Could not obtain connection to query metadata : Unknown database 'test'
2018-04-27 18:39:52.895  INFO 62329 --- [           main] org.hibernate.dialect.Dialect            : HHH000400: Using dialect: org.hibernate.dialect.MySQL5Dialect
2018-04-27 18:39:52.916  INFO 62329 --- [           main] o.h.e.j.e.i.LobCreatorBuilderImpl        : HHH000422: Disabling contextual LOB creation as connection was null
2018-04-27 18:39:53.464  INFO 62329 --- [           main] org.hibernate.tool.hbm2ddl.SchemaUpdate  : HHH000228: Running hbm2ddl schema update

application.properties:

server.port=8081
server.context-path=/auth
security.basic.enable=false
spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password =password
spring.datasource.testWhileIdle=true
spring.datasource.validationQuery=SELECT 1
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=update
spring.jpa.hibernate.naming-strategy=org.hibernate.cfg.ImprovedNamingStrategy
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect

当我使用空白的用户名和密码运行应用程序时,出现此错误:

2018-04-27 18:42:37.225  WARN 62332 --- [           main] o.h.e.j.e.i.JdbcEnvironmentInitiator     : HHH000342: Could not obtain connection to query metadata : Access denied for user ''@'localhost' (using password: NO)
2018-04-27 18:42:37.237  INFO 62332 --- [           main] org.hibernate.dialect.Dialect            : HHH000400: Using dialect: org.hibernate.dialect.MySQL5Dialect
2018-04-27 18:42:37.256  INFO 62332 --- [           main] o.h.e.j.e.i.LobCreatorBuilderImpl        : HHH000422: Disabling contextual LOB creation as connection was null
2018-04-27 18:42:37.712  INFO 62332 --- [           main] org.hibernate.tool.hbm2ddl.SchemaUpdate  : HHH000228: Running hbm2ddl schema update

它告诉您为什么要创建Unknown database 'test'还是应该创建数据库“ test”或使用spring.jpa.hibernate.ddl-auto=create这将创建数据库(即使存在),它将覆盖存储的所有数据

您还可以在数据库URL中使用createDatabaseIfNotExist=true

spring.datasource.url=jdbc:mysql://localhost:3306/test?createDatabaseIfNotExist=true

它说了什么

使用H2嵌入式数据库开始开发项目会更加容易。 嵌入式H2 db附带一个Web控制台,您可以访问该控制台直接从浏览器创建的表。

它也是一个内存数据库,它将成为您启动Spring Boot应用程序的所有内容的全新数据库。 您可以使用import.sql对其进行预加载。

这是您要探索的链接 我总是用它来开始一个新项目,也有益于学习。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM