Laravel:SQLSTATE [HY000] [2002] 连接被拒绝
Posted
技术标签:
【中文标题】Laravel:SQLSTATE [HY000] [2002] 连接被拒绝【英文标题】:Laravel: SQLSTATE[HY000] [2002] Connection refused 【发布时间】:2017-07-12 10:51:12 【问题描述】:我正在使用安装了新的 laravel 5.4 的 Vagrant。运行 auth 后,我运行了 migrate 来迁移 mysql 表。所有这些过程都成功,但是当我尝试登录或注册以测试系统时出现错误:
SQLSTATE[HY000] [2002] 连接被拒绝。
但我的数据库运行良好,因为我已经能够迁移表。可能的解决方案是什么?检查附加图像(我使用的是 Ubuntu 16.04)
【问题讨论】:
您是否还检查了表是否真的在 phpmyadmin 中创建? (如果您正在运行它)并且mysql服务器与代码在同一台服务器上吗? 是的,我正在使用 phpstrom(内置数据库管理器)并且我已经用它配置了相同的数据库。所以我检查了所有表都已成功创建 请分享您的 .env 文件代码 从这里查看截图-expirebox.com/download/741543100157daa4d14c2b49bcb8ccdf.html 你能验证 MySQL 是否在监听 33060 端口吗?由于默认端口是 3306。Laravel Homestead 默认使用前者,因此问题可能与此有关。还是您在使用 Homestead? 【参考方案1】:如果您尝试从主机运行 php artisan migrate,您需要在 .env conf 文件中设置 DB_PORT=33060,因为这是 vagrant/Homestead 正在侦听的端口。但是当我改变我的应用程序停止工作时。 所以我建议 ssh 到 vagrant 并从 VM 运行 php artisan migrate ,你不会有任何问题。
【讨论】:
【参考方案2】:如果你使用 laravel,可能你的 PDO PHP Extension 没有设置。 在你的 php.ini 中取消注释 extension=php_pdo_mysql.dll
如果您无法访问 php.ini,请执行以下操作: 将此添加到 mysql 部分的 config/database.php 中
'options' => [PDO::ATTR_EMULATE_PREPARES => true],
你的代码应该是这样的:
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'options' => [PDO::ATTR_EMULATE_PREPARES => true],
'prefix' => '',
'strict' => true,
'engine' => null,
],
【讨论】:
【参考方案3】:尝试将您的 DB_HOST 从 127.0.0.1 更改为 localhost。如果仍然无法正常工作,请尝试使用默认的 mysql 端口到 3306
【讨论】:
从 127.0.0.1 更改为 localhost 对我有用!谢谢 从 127.0.0.1 更改为 localhost 对我有用。但是127.0.0.1
和localhost
在这里有什么区别吗?
这里有一个很好的答案***.com/a/7382629/4668162@GhulamAkbar
我正在使用 Docker,并且使用:DB_HOST=mysql 为我工作。以上是关于Laravel:SQLSTATE [HY000] [2002] 连接被拒绝的主要内容,如果未能解决你的问题,请参考以下文章
Laravel 7 SQLSTATE [HY000] [2002] 连接被拒绝
Laravel 6.0 迁移 - SQLSTATE[HY000] [2002] 没有这样的文件或目录
SQLSTATE[HY000] [2002] 连接被拒绝 Laravel 5.8.35
SQLSTATE[HY000]:一般错误:在 Laravel 中迁移期间出现 1005
PHP + MYSQL + Laravel - “SQLSTATE [HY000] [2002] 连接被拒绝” [重复]