【发布时间】:2021-05-23 03:20:52
【问题描述】:
我使用 docker-compose 创建了我的 Laravel 项目。我在本地创建了一个名为 fhblog 的数据库。当我进入php容器并运行php artisan migrate命令时,出现以下错误。
SQLSTATE[HY000] [2002] Connection refused (SQL: select * from information_schema.tables where table_schema = fhblog and table_name = migrations and table_type = 'BASE TABLE')
我搜索了问题的解决方法,并按照人们的建议,但错误无法解决。
我的 .env 文件
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=fhblog
DB_USERNAME=fhblog
DB_PASSWORD=root
我的 mysql 容器
.
.
.
db:
image: mysql:5.7.22
container_name: mysql
restart: unless-stopped
tty: true
ports:
- "3306:3306"
environment:
MYSQL_ROOT_USER: root
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: fhblog
MYSQL_USER: fhblog
MYSQL_PASSWORD: root
SERVICE_TAGS: dev
SERVICE_NAME: mysql
volumes:
- ./docker/mysql/db:/var/lib/mysql
- ./docker/mysql/my.cnf:/etc/mysql/my.cnf
networks:
- app-network
.
.
.
在我的研究中,建议运行php artisan cache:clear 和php artisan config:clear 命令,因为它们可以保留在“缓存”中。这些命令也没有解决我的问题。哪里出错了?
【问题讨论】:
-
这里有很多重复项 - 对于
DB_HOST,您需要使用容器的名称,mysql。 -
我试过你说的,但没有解决我的问题
标签: mysql laravel docker-compose laravel-8 connection-refused