mysql - laradock 上的 Laravel 似乎无法连接到 docker 上的 mysql
问题描述
Laravel 似乎无法连接到 docker 上 laradock 上的 mysql。我应该如何解决?在 laravel 项目中继承 .env
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=dcl
DB_USERNAME=developer
DB_PASSWORD=mysql
laradock 中的 .env
### MYSQL #################################################
MYSQL_VERSION=latest
MYSQL_DATABASE=dcl
MYSQL_USER=developer
MYSQL_PASSWORD=mysql
MYSQL_PORT=3306
MYSQL_ROOT_PASSWORD=mysql
MYSQL_ENTRYPOINT_INITDB=./mysql/docker-entrypoint-initdb.d
mysql> 显示数据库;+--------------------+ | 数据库 | +--------------------+ | dcl | | 信息架构 | | mysql | | 性能模式 | | 系统 | +--------------------+ 5 行(0.00 秒)
mysql>
$ docker-compose exec workspace php artisan migrate
Illuminate\Database\QueryException : SQLSTATE[HY000] [2002] No such file or directory (SQL: select * from information_schema.tables where table_schema = cleaning and table_name = migrations and table_type = 'BASE TABLE')
at /var/www/vendor/laravel/framework/src/Illuminate/Database/Connection.php:669
> 669| throw new QueryException(
Exception trace:
1 PDOException::("SQLSTATE[HY000] [2002] No such file or directory")
/var/www/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:70
2 PDO::__construct("mysql:host=localhost;port=3306;dbname=dcl", "developer", "mysql", [])
/var/www/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:70
解决方案
在 laravel 中编辑 .env 文件
DB_HOST=127.0.0.1
↓</p>
DB_HOST=mysql
推荐阅读
- nlp - gensim word2vec 中的“corpus_count”是什么?
- java - 如何使用以字符串格式存储的日期和时间在 Rooms 数据库中按查询排序?
- python - 如何通过 Lambda 重命名 S3 中的多个输出文件
- android - 手动 apk 签名 (jarsigner) 与自动 apk 签名 (android studio) - 结果是不同的 APK
- angular - 一旦从另一个组件获取数据后如何重新加载组件,即使它已经以角度加载
- python - 如何成对打印数字...?
- html - 需要帮助从网页中抓取特定的 span 标签
- python - 从谷歌搜索中抓取链接,然后抓取这些链接以使用 Scrapy 将正文/文本内容提取到文件中
- networking - traceroute 如何从目的地接收动作?
- ubuntu - 使用 TPM 测量的每个哈希的文件路径