在docker中创建了一个网络
docker network create mysql-network
然后我创建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
这是我的 application.properties
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
我也尝试过
spring.datasource.url=jdbc:mysql://mysql-hibernate:3306/test
但是我总是会在启动时收到错误消息
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:未知数据库“测试”
不知道数据库“ test”怎么可能?我在docker这样指定了名称
-e MYSQL_DATABASE = test
我想念什么?
答案 0 :(得分:1)
我知道现在有点晚了,但我还是会回答,以便来这里的人可以受益;) 您的配置总体看来还不错。当出现这样的错误时,可以在设置数据源URL的行中的application.properties中添加设置为true的标志参数。 因此,您将想到以下内容:
spring.datasource.url=jdbc:mysql://localhost:3306/test?createDatabaseIfNotExist=true
希望这会有所帮助!