Laravel Mysql ubuntu 上的设置在 运行 php 上给出错误 [1698] php aritsan migrate

Laravel Mysql setup on ubuntu giving error [1698] on running php aritsan migrate

我安装了 laravel 并在 mysql 中设置了用户名和数据库。

然后我在 Laravel 项目的 database.php 文件中输入了凭据。

    'mysql' => [
        'driver' => 'mysql',
        'url' => env('DATABASE_URL'),
        'host' => env('DB_HOST', '127.0.0.1'),
        'port' => env('DB_PORT', '3306'),
        'database' => env('DB_DATABASE', 'msn_test1'),
        'username' => env('DB_USERNAME', 'msn_user' ),
        'password' => env('DB_PASSWORD', 'Passw0rd!'),
        'unix_socket' => env('DB_SOCKET', ''),
        'charset' => 'utf8mb4',
        'collation' => 'utf8mb4_unicode_ci',
        'prefix' => '',
        'prefix_indexes' => true,
        'strict' => true,
        'engine' => null,
        'options' => extension_loaded('pdo_mysql') ? array_filter([
            PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
        ]) : [],
    ],

但是当我运行:

 php artisan migrate

我收到这个错误:

 SQLSTATE[HY000] [1698] Access denied for user 'root'@'localhost' (SQL: select * from information_schema.tables where table_schema = laravel and table_name = migrations and table_type = 'BASE TABLE')

我是 Laravel 的新手。谁能帮我设置一下。

第二个参数是回退值env('the_env_property_name', 'fallback_variable'),如果.env文件中不存在则回退。

您应该将这些变量放入 .env 文件中,通过将 .env.example 复制到 .env 来创建您的 .env 文件。如下设置变量,它们可能已经存在了。

DB_CONNECTION=mysql
DB_USERNAME=msn_user
DB_PASSWORD=Passw0rd!

.env 文件隐藏在项目主文件夹中。我在创建一个新的时发现。