hel*_*123 11 php mysqli docker docker-compose
这是我的 docker 撰写的:
db:
image: mysql
ports:
- "3306:3306"
environment:
MYSQL_DATABASE: myDb
MYSQL_USER: user
MYSQL_PASSWORD: test
MYSQL_ROOT_PASSWORD: test
volumes:
- ./dump:/docker-entrypoint-initdb.d
- persistent:/var/lib/mysql
Run Code Online (Sandbox Code Playgroud)
当我将用户和密码更改为“root”时,我的数据库被创建,但它是空的。当我保留上述凭据时,/dump 目录中的 .sql 脚本将按预期填充数据库。凭据更改如何影响数据注入?如何解决此问题?
Nig*_*Ren 13
从文档(https://hub.docker.com/_/mysql/)...
MYSQL_用户、MYSQL_密码
这些变量是可选的,结合使用来创建新用户并设置该用户的密码。该用户将被授予对 MYSQL_DATABASE 变量指定的数据库的超级用户权限(见上文)。创建用户需要这两个变量。
所以这是创建一个带有密码的新用户。MYSQL_ROOT_PASSWORD是MySQL root用户的密码。
MYSQL_ROOT_PASSWORD 此变量是必需的,指定将为 MySQL root 超级用户帐户设置的密码。在上面的示例中,它被设置为 my-secret-pw。