Mar*_*uka 2 docker spring-boot
在docker中创建了一个网络
docker network create mysql-network
Run Code Online (Sandbox Code Playgroud)
然后我创建mysql镜像
docker container run -d -p 3306:3306 --net=mysql-network --name mysql-hibernate -e MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=test -v hibernate:/var/lib/mysql mysql
Run Code Online (Sandbox Code Playgroud)
这是我的应用程序属性
spring.jpa.hibernate.ddl-auto=create
useSSL=false
spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=password
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL57Dialect
Run Code Online (Sandbox Code Playgroud)
我也尝试过
spring.datasource.url=jdbc:mysql://mysql-hibernate:3306/test
Run Code Online (Sandbox Code Playgroud)
但是启动时总是会报错
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:未知数据库“测试”
它怎么可能不知道数据库“test”?我在 docker 中指定了名称,如下所示
-e MYSQL_DATABASE=test
我缺少什么?
小智 6
我知道有点晚了,但无论如何我都会回答,这样来这里的人可以受益;)您的配置总体看来不错。当您收到这样的错误时,您可以在 application.properties 中设置数据源 url 的行中添加标记参数设置为 true 。所以你会想出这样的东西:
spring.datasource.url=jdbc:mysql://localhost:3306/test?createDatabaseIfNotExist=true
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助!
| 归档时间: |
|
| 查看次数: |
1908 次 |
| 最近记录: |