数据库Laravel php artisan迁移连接被拒绝

Fem*_*mke 2 connection xampp laravel artisan

当我使用'php artisan migrate'时,我收到以下错误消息:

[Illuminate\Database\QueryException]
SQLSTATE [HY000] [2002]连接被拒绝(SQL:select*from information_schema.tables,其中table_schema = homestead和table_name = migrations)

[PDOException]
SQLSTATE [HY000] [2002]连接被拒绝

我已经使用XAMPP在Mac上安装了Laravel并进行了以下设置:

为database.php

'mysql' => [
        'driver' => 'mysql',
        'host' => env('DB_HOST', 'localhost'),
        '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',
        'prefix' => '',
        'strict' => true,
        'engine' => null,
    ],
Run Code Online (Sandbox Code Playgroud)

.ENV

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret
Run Code Online (Sandbox Code Playgroud)

我已经尝试了几种我可以在网上找到的解决方案,但迄今为止都没有.

我希望有一个人可以帮助我!先感谢您!

小智 14

这真的很烦人,但将DB_HOST = 127.0.0.1更改为DB_HOST = localhost可以解决问题.试一试(显然你的文件权限必须是正确的)


小智 7

对我来说,解决方案与我在网上找到的其他任何地方都不同。

我在 Mac 上不知不觉地使用了 XAMPP 的 VM(虚拟机)版本,它的功能与普通版本不同。VM XAMPP 界面如下所示。

如果您使用的是 VM XAMPP,请在此处卸载它并安装正确的 XAMPP 版本。

一旦我安装了新版本php artisan migrate就可以了。


cra*_*bly 5

首先创建您的数据库。在此处阅读更多相关信息:http : //www.complete-concrete-concise.com/web-tools/creating-a-mysql-database-using-xampp

假设您的新数据库名为:my_db。

在您的 .env 中使用它:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_db
DB_USERNAME=root
DB_PASSWORD=""
Run Code Online (Sandbox Code Playgroud)


Jan*_*ter 5

如果有人在使用Docker时遇到这种情况,我有一个多阶段构建,第一个容器运行依赖项安装,第二个容器只是运行时。我没有意识到的是,使用 Laravel 脚本进行安装会生成一个缓存的配置 ( bootstrap/cache/config.php),而不是config/database.php文件。

将以下内容添加到 Dockerfile 作为最后一步就成功了:

RUN php artisan config:clear
Run Code Online (Sandbox Code Playgroud)