php artisan migrate - 错误 - Illuminate\Database\QueryException:SQLSTATE[HY000] [2054]

Posted

技术标签:

【中文标题】php artisan migrate - 错误 - Illuminate\\Database\\QueryException:SQLSTATE[HY000] [2054]【英文标题】:php artisan migrate - Error - Illuminate\Database\QueryException : SQLSTATE[HY000] [2054]php artisan migrate - 错误 - Illuminate\Database\QueryException:SQLSTATE[HY000] [2054] 【发布时间】:2018-12-17 08:25:44 【问题描述】:

我在做的时候有以下错误:

php artisan migrate

错误:

Illuminate\Database\QueryException : SQLSTATE[HY000] [2054] 服务器请求客户端未知的身份验证方法(SQL: select * from information_schema.tables where table_schema = d1 and table_name = migrations)

这是截图;

PS。以防万一:我在 php.ini 文件中启用了“extension=pdo_mysql”。

任何想法如何解决这个问题?

【问题讨论】:

***.com/questions/1340488/mysql-php-incompatibility 这些实际上都没有帮助...... 【参考方案1】:

你好,正如这篇文章中提到的:

Laravel-news

这是一个典型的 windows 问题。

提到的解决方案是:

use Illuminate\Support\Facades\Schema;

public function boot()

    Schema::defaultStringLength(191);

在 AppServiceProvider.php 中

【讨论】:

【参考方案2】:

我也被这个问题困扰了很长时间。 对我有用的一种解决方案是打开 Connection.php 并注释掉异常或替换这些异常,以便php migrate 时不会出现错误 正在运行。这对我有用。如果您发现任何其他解决方案/任何更改,请告诉我。

或者,也许是更好的解决方案:

在 app/config 下的 database.php 中,添加以下内容:

'connections' => [

    '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',
        'prefix'      => '',
        'strict'      => true,
        'engine'      => null,
        'modes'       => [
            'ONLY_FULL_GROUP_BY',
            'STRICT_TRANS_TABLES',
            'NO_ZERO_IN_DATE',
            'NO_ZERO_DATE',
            'ERROR_FOR_DIVISION_BY_ZERO',
            'NO_ENGINE_SUBSTITUTION',
        ],
    ],
],

【讨论】:

【参考方案3】:

如果你使用Macos+docker+mysql。然后用这个

 ./vendor/bin/sail artisan migrate

不是 php artisan 迁移

【讨论】:

您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center。【参考方案4】:

也一直在努力解决这个问题。我认为最好先删除然后再次迁移表,然后再添加新表或对迁移文件夹进行任何更改。我希望这能解决你的问题..

php artisan migrate:fresh

【讨论】:

以上是关于php artisan migrate - 错误 - Illuminate\Database\QueryException:SQLSTATE[HY000] [2054]的主要内容,如果未能解决你的问题,请参考以下文章

laravel php artisan migrate 错误(超时)

php artisan migrate 给我 Lumen 错误

Php artisan migrate - 语法错误,意外''(T字符串)

laravel 错误 1071 密钥太长 php artisan migrate [重复]

Laravel 5.2 php artisan migrate:回滚错误

如何修复 Laravel 中的“php artisan migrate”错误