【发布时间】:2019-08-26 02:41:17
【问题描述】:
我的 Laravel 有一些问题。
迁移工作正常,但是当我尝试使用 Eloquent 插入或访问数据时出现错误:
“SQLSTATE[HY000] [2002] 连接被拒绝”
.env 文件:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=myddb
DB_USERNAME=root
DB_PASSWORD=password
database.php 文件:
'driver' => 'mysql',
'host' =>'127.0.0.1',
'port' => '3306',
'database' =>'myddb',
'username' => 'root',
'password' => 'password',
我使用 Docker。
【问题讨论】:
-
当你使用 docker 检查主机名。数据库应该在另一个容器中,所以输入容器/服务名称作为数据库主机,而不是本地主机
-
向我们展示您的相关 docker-compose.yml sn-p(您定义 mysql 的那个)
-
我对 Docker 还很陌生,所以这里我的 ddb 部分在我的 docker-compose.yml
mysql: build: ./bin/mysql container_name: '5.7-mysql' restart: 'always' ports: - "${HOST_MACHINE_MYSQL_PORT}:3306" volumes: - ${MYSQL_DATA_DIR-./data/mysql}:/var/lib/mysql - ${MYSQL_LOG_DIR-./logs/mysql}:/var/log/mysql environment: MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD} MYSQL_DATABASE: ${MYSQL_DATABASE} MYSQL_USER: ${MYSQL_USER} MYSQL_PASSWORD: ${MYSQL_PASSWORD}我也使用 phpmyadmin(它工作正常)
标签: mysql laravel docker laravel-5 eloquent