我正在尝试使用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
答案 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。我总是用它来开始一个新项目,也有利于学习。