php artisan migrate -错误-说明\数据库\查询异常:数据库状态[HY 000] [2054]

beq87vna  于 2023-01-16  发布在  PHP
关注(0)|答案(5)|浏览(157)

我在执行时出现以下错误:

php artisan migrate

错误:
照明\数据库\查询异常:SQLSTATE [HY000][2054]服务器请求了客户端未知的身份验证方法(SQL:从信息模式表中选择 *,其中表模式= d1,表名称=迁移)
这是一张截图

附言。以防万一:我已经在我的php.ini文件中启用了"extension = pdo_mysql"。
有办法解决吗?

5cg8jx4n

5cg8jx4n1#

嗨,正如在此帖子中提到:
Laravel-news
这是典型的Windows问题。
所述解决方案为:

use Illuminate\Support\Facades\Schema;

public function boot()
{
    Schema::defaultStringLength(191);
}

在AppServiceProvider.php中

hxzsmxv2

hxzsmxv22#

如果你使用Macos+Docker+mysql.那么使用这个

./vendor/bin/sail artisan migrate

不是php工匠迁移

pbossiut

pbossiut3#

我在这个问题上也坚持了很长时间。一个对我有效的解决方案是打开Connection.php,要么注解掉异常,要么替换那些异常,这样php migrate运行时就不会出错。这对我很有效。如果你找到任何其他的解决方案/任何修改,请告诉我。

另一种可能更好的解决方案是:

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

'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',
        ],
    ],
],
amrnrhlw

amrnrhlw4#

对ubuntu运行以下两个命令:

sudo apt install php-mysql
sudo /opt/lampp/lampp restart
dy1byipe

dy1byipe5#

我也一直在为这个问题而苦恼。我认为在添加新表或对迁移文件夹进行任何更改之前,最好先删除这些表,然后再重新迁移。我希望这能解决您的问题。

php artisan migrate:fresh

相关问题