首页 文章

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

提问于
浏览
0

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

[Illuminate \ Database \ QueryException] SQLSTATE [HY000] [2002]连接被拒绝(SQL:select * from information_schema.tables where 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,
    ],

.ENV

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret

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

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

5 回答

  • 1

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

  • 9

    首先创建数据库 . 在这里阅读更多相关信息: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=""
    
  • 0

    嗨,当你在database.php文件中有 unix_socket => env('DB_SOCKET', '') 时,env.file中没有 DB_SOCKET= /path/to/socket .

    您可以通过 $ mysql_config --socket 获取/ path / to / socket

  • 2

    这是迟到的,但它可能会帮助某人 . 我有同样的错误,原来这是我的.env文件中的拼写错误 . 而不是DB_HOST,它是B_HOST . 在你的情况下,它可能是一些其他的env键 . 只需仔细观察,您就会发现您的文件格式错误 .

  • 0

    我的解决方案与我在网上找到的其他任何地方都不同 .

    我不知不觉在Mac上使用了XAMPP的VM(虚拟机)版本,其功能与普通版本不同 . VM XAMPP interface looks like this.

    如果您使用的是VM XAMPP,请将其卸载并安装correct XAMPP version here.

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

相关问题