使用spring boot(Web应用程序)连接到MYSQL数据库失败

时间:2018-04-27 16:48:17

标签: java mysql spring hibernate spring-boot

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

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

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

2 个答案:

答案 0 :(得分:0)

它告诉你为什么Unknown database 'test'你应该创建一个数据库' test'或使用spring.jpa.hibernate.ddl-auto=create这将创建数据库,即使存在,它将覆盖存储的任何数据

您也可以在数据库网址中使用createDatabaseIfNotExist=true,例如

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

它做了它所说的

答案 1 :(得分:0)

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

它也是一个内存数据库,它将是你启动Spring启动应用程序的新数据库。您可以使用import.sql来预加载它。

以下是您要探索的link。我总是用它来开始一个新项目,也有利于学习。