SQLSTATE [HY000] [1044] cPanel中的用户访问被拒绝

时间:2018-04-22 06:41:42

标签: php mysql laravel

我在cPanel上传了一个Laravel项目。它出现以下错误

  

SQLSTATE [HY000] [1044]用户'amartuki_finance'@'localhost'拒绝访问数据库'amartuki_finance'

但是我已经更改了我的.env文件的数据库名称,用户名和密码。也可以在config/database.php文件中配置。

.env档案

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=amartuki_finance
DB_USERNAME=amartuki_finance
DB_PASSWORD=amartuki_finance

config/database.php档案

'mysql' => [
        'driver' => 'mysql',
        'host' => env('DB_HOST', '127.0.0.1'),
        'port' => env('DB_PORT', '3306'),
        'database' => env('DB_DATABASE', 'amartuki_finance'),
        'username' => env('DB_USERNAME', 'amartuki_finance'),
        'password' => env('DB_PASSWORD', 'amartuki_finance'),
        'unix_socket' => env('DB_SOCKET', ''),
        'charset' => 'utf8mb4',
        'collation' => 'utf8mb4_unicode_ci',
        'prefix' => '',
        'strict' => false,
        'engine' => null,
    ],

那么解决方案是什么!有人帮忙吗?

2 个答案:

答案 0 :(得分:3)

解决了我的问题。这是一个非常愚蠢的错误。

创建用户后,我没有将用户添加到我的数据库中,这就是用户没有获得任何权限的原因。

现在更改这些内容并成功运行项目。

答案 1 :(得分:0)

您应该按照以下方法在env

中加载Laravel
  1. 加载环境文件
  2.   

    Dotenv ::负载(BASE_PATH()); //你的env文件的路径

    1. 需要您的值
    2.   

      Dotenv ::需要(阵列(' DB_PORT'' DB_HOST&#39 ;,   ' DB_DATABASE',' DB_USERNAME',' DB_PASSWORD',' DB_SOCKET'));

      1. 如下所示分配
      2. 'mysql' => [
            'driver' => 'mysql',
            'host' => getenv('DB_HOST'),
            'port' => getenv('DB_PORT'),
            'database' => getenv('DB_DATABASE'),
            'username' => getenv('DB_USERNAME'),
            'password' => getenv('DB_PASSWORD'),
            'unix_socket' => getenv('DB_SOCKET'),
            'charset' => 'utf8mb4',
            'collation' => 'utf8mb4_unicode_ci',
            'prefix' => '',
            'strict' => false,
            'engine' => null,
        ],