连接拒绝 docker、laravel 和 mysql 服务器

Posted

技术标签:

【中文标题】连接拒绝 docker、laravel 和 mysql 服务器【英文标题】:Connection refused docker, laravel and mysql server 【发布时间】:2020-01-26 06:05:27 【问题描述】:

所以我有这个 docker 插图

如您所见,我的 laravel 应用正在尝试在安装和设置 mysql 服务器的容器中建立数据库连接。

通过这个端口可以访问laravel应用实例

192.168.0.XX:3021

并且可以使用此 IP 访问容器

192.168.0.61

MySQL 服务器凭证是:

USER3021 我刚刚尝试使用“%”通配符功能和

创建此用户帐户

GRANT ALL PRIVILEGES ON *.* TO 'USER3021' IDENTIFIED BY 'xxxxxxx';

当我尝试使用 .env 文件连接 laravel 应用和 MySQL 服务器时

 DB_CONNECTION=mysql
 DB_HOST=192.168.0.XX
 DB_PORT=3306
 DB_DATABASE=myTable
 DB_USERNAME=USER3021
 DB_PASSWORD=xxxxxxx

laravel 给我这样的错误

mysql连接被拒绝

【问题讨论】:

更改.env中的端口 你是我的数据库端口吗? DB_PORT=3021 而不是 DB_PORT=3306 【参考方案1】:

您试图通过端口3021 访问Mysql,但您定义了端口3306 尝试在 .env 文件中更改它们

 DB_CONNECTION=mysql
 DB_HOST=192.168.0.XX
 DB_PORT=3021
 DB_DATABASE=myTable
 DB_USERNAME=USER3021
 DB_PASSWORD=xxxxxxx

【讨论】:

【参考方案2】:

打开您的.env 文件并更改端口:DB_PORT=3021 而不是 DB_PORT=3306

DB_CONNECTION=mysql 
DB_HOST=192.168.0.XX 
DB_PORT=3021 
DB_DATABASE=myTable     // Your Database Name 
DB_USERNAME=USER3021   // Yout Database Username
DB_PASSWORD=xxxxxxx   // Your Database Password 

.env编辑完成后请在终端输入此命令清除缓存:

php artisan config:clear

【讨论】:

以上是关于连接拒绝 docker、laravel 和 mysql 服务器的主要内容,如果未能解决你的问题,请参考以下文章

使用 Docker 运行 Laravel artisan 命令时连接被拒绝

SQLState [HY000] 连接拒绝 Laravel 与 docker

Docker web 和 apis 拒绝连接

在docker上使用laravel时无法连接到mysql数据库(未找到,pdo,连接被拒绝)

docker上的Mysql给出“连接被拒绝”错误

docker compose MySQL 容器 [2002] 连接被拒绝