我最近完成了一个有一个数据库的小型Laravel网站,所以我通过docker-compose创建了一个图像,并附加了一个mariadb图像并提供了一些凭据。这是我的docker-compose.yml文件:
version: '3'
services:
web:
build: .
env_file:
- .env.docker
depends_on:
- db
ports:
- '80:80'
db:
image: mariadb:latest
restart: always
env_file:
- .env.mysql
environment:
MYSQL_ROOT_PASSWORD: $${MYSQL_ROOT_PASSWORD}
MYSQL_DATABASE: $${MYSQL_DATABASE}
MYSQL_USER: $${MYSQL_USER}
MYSQL_PASSWORD: $${MYSQL_PASSWORD}
ports:
- 3306
以下是我的.env.docker
文件的相关部分:
DB_CONNECTION=mysql
DB_HOST=lestadium_db_1
DB_PORT=3306
DB_DATABASE=stadium
DB_USERNAME=root
DB_PASSWORD=3p1c_P@ssw0rd
这是.env.mysql
文件:
MYSQL_ROOT_PASSWORD=3p1c_P@ssw0rd
MYSQL_DATABASE=stadium
MYSQL_USER=root
MYSQL_PASSWORD=3p1c_P@ssw0rd
但是,我想使用名为“stadium”的用户作为用户和另一个密码,比这个更安全(即使它不是我使用的那个),但在更改凭据后,我收到以下错误从控制台:
2018-03-31 15:40:03 140076405188352 [警告]拒绝用户访问 'stadium'@'172.18.0.3'(使用密码:是)
在回到“root”和旧密码之后,我用“root”而不是“stadium”作为用户得到了相同的错误。我在github问题上找到了某个地方Mariadb和MySQL倾向于创建一些卷而不要求保持数据,所以我运行docker-compose rm -v
,它运行了,我应该已经停在那里,但是在再次更改用户之后运行命令,它似乎不再起作用了。
我该如何解决这个问题?
欢迎任何建议