在 laradock 中无法访问到 MySQL (Laravel 项目报 2002 错误) 的问题。

描述

使用 laradock 创建并运行的laravel项目。在运行时可以进入 mysql bash 并执行操作。
在访问 laravel 项目时却会报错。
在 phpmyadmin 中可以连接该数据库。

报错截图

在laradock中无法访问到mysql(laravel项目报2002错误)的问题。

在 laradock 中无法访问到 MySQL (Laravel 项目报 2002 错误) 的问题。

版本信息:

docker: Docker version 18.09.2, build 6247962
mysql: 5.7

配置信息

DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=test
DB_USERNAME=root
DB_PASSWORD=root

说明

我看到网上很多人都是把DB_HOST设置成localhost或者是MYSQL版本才发生的错误,而我的配置里已经规避了这两个错误。请问还有可以是什么原因呢?如何解决呢?

补充

现在基本将问题锁定到了配置问题上,.env文件内的数据库配置如上。可报错信息似乎并没有使用.env中的配置。
laradock已经rebuild了,也在修改配置后执行了php artisan config:clear。还是不行。请问这样该如何解决?

在 laradock 中无法访问到 MySQL (Laravel 项目报 2002 错误) 的问题。

《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 6

layadock 这个是啥?

2年前 评论
acldm (楼主) 2年前
mojiajuzi (作者) 2年前
小下

模拟了你的操作,没有遇到你描述的问题

file

2年前 评论
acldm (楼主) 2年前

你截图打印出来的db config和你发出来不一致,检查可能导致配置被替换的代码或命令,
包括不限于config/database.php .env及php artisan optimize

还有可能是opcache导致代码没更新,重启docker或者build一个不装opcache的镜像

2年前 评论

把vendor删掉,重新安装下试试?

2年前 评论
hareluya

感觉是DB配置问题,重做一个新的laravel配下环境看看是否可链接?

2年前 评论

要填容器的ip地址,用docker inspect 容器名可以查看到idadress,把mysql的host换成上面的ip地址即可

1年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!