Ubuntu上的Laravel Mysql设置在运行php aritsan迁移时给出错误[1698]

问题描述 投票:0回答:1

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

然后我在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的新手。有人可以帮助我进行设置。

php mysql laravel ubuntu migrate
1个回答
0
投票

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

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

DB_CONNECTION=mysql
DB_USERNAME=msn_user
DB_PASSWORD=Passw0rd!

0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.