【发布时间】:2021-06-11 13:40:14
【问题描述】:
我正在尝试使用 Laravel 的风帆设置我的第一个测试数据库。我可以看到创建了测试数据库并添加了一个用户:
mysql_test_1 | 2021-03-13 20:20:32+00:00 [Note] [Entrypoint]: Creating database test_database
mysql_test_1 | 2021-03-13 20:20:32+00:00 [Note] [Entrypoint]: Creating user test_root
mysql_test_1 | 2021-03-13 20:20:32+00:00 [Note] [Entrypoint]: Giving user test_root access to schema test_database
但是,当我尝试通过 TablePlus 连接时,我得到:
用户'test_root'@'172.24.0.1'的访问被拒绝(使用密码:YES)
主机:127.0.0.1 端口:3306 用户:test_root 密码:test_root 数据库:test_database
我的 .env 有以下内容:
TEST_DB_CONNECTION=mysql
TEST_DB_HOST=mysql_test
TEST_DB_PORT=3306
TEST_DB_DATABASE=test_database
TEST_DB_USERNAME=test_root
TEST_DB_PASSWORD=test_root
我的 docker-compose.yml 文件有:
mysql:
image: 'mysql:8.0'
ports:
- '${FORWARD_DB_PORT:-3306}:3306'
environment:
MYSQL_ROOT_PASSWORD: '${DB_PASSWORD}'
MYSQL_DATABASE: '${DB_DATABASE}'
MYSQL_USER: '${DB_USERNAME}'
MYSQL_PASSWORD: '${DB_PASSWORD}'
MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'
volumes:
- 'sailmysql:/var/lib/mysql'
networks:
- sail
healthcheck:
test: ["CMD", "mysqladmin", "ping"]
mysql_test:
image: "mysql:8.0"
environment:
MYSQL_ROOT_PASSWORD: "${TEST_DB_PASSWORD}"
MYSQL_DATABASE: "${TEST_DB_DATABASE}"
MYSQL_USER: "${TEST_DB_USERNAME}"
MYSQL_PASSWORD: "${TEST_DB_PASSWORD}"
MYSQL_ALLOW_EMPTY_PASSWORD: "yes"
networks:
- sail
【问题讨论】: