【问题标题】:Laravel Connectin in env to mysql workbenchenv中的Laravel连接到mysql工作台
【发布时间】:2021-04-24 13:08:24
【问题描述】:

我更改了连接数据库 MySQL 服务器工作台的配置,我在 .env 中输入了主机、用户名和密码,但出现错误 SQLSTATE[HY000] [1045] 用户访问被拒绝

但是我已经进入config/database.php 连接成功

我的.env 文件包含:

DB_CONNECTION=mysql 
DB_HOST=0.0.0.0 
DB_PORT=3306 
DB_DATABASE=xxxx 
DB_USERNAME=xxxx 
DB_PASSWORD=xxxxxx

我的config/database.php 是:

    'mysql' => [
            'driver' => 'mysql',
            'url' => env('DATABASE_URL'),
            'host' => env('DB_HOST', 'localhost'),
            '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' => '',
            'prefix_indexes' => true,
            'strict' => false,
            'engine' => null,
            'options' => extension_loaded('pdo_mysql') ? array_filter([
                PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
            ]) : [],
        ],

在 dabase.php 中我删除 env 并输入连接到此代码连接成功

【问题讨论】:

  • 您能否分享您的 .env 和 database.php(不是凭据,而是其他信息),如果您的密码包含特殊字符,您需要将其包含在 .env 文件中的 "" 中跨度>
  • DB_CONNECTION=mysql DB_HOST=0.0.0.0 DB_PORT=3306 DB_DATABASE=xxxx DB_USERNAME=xxxx DB_PASSWORD=xxxxxx
  • 我已使用您提供的其他信息更新了您的问题,您可以继续删除评论和答案。对问题的任何更新都应通过编辑问题本身来完成。
  • DB_HOST=0.0.0.0 看起来不正确。 0.0.0.0 不是有效 IP

标签: mysql database laravel connection workbench


【解决方案1】:
'mysql' => [
        'driver' => 'mysql',
        'url' => env('DATABASE_URL'),
        'host' => env('DB_HOST', 'localhost'),
        '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' => '',
        'prefix_indexes' => true,
        'strict' => false,
        'engine' => null,
        'options' => extension_loaded('pdo_mysql') ? array_filter([
            PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
        ]) : [],
    ],

在 dabase.php 中我删除 env 并输入连接到此代码连接成功

【讨论】:

  • 这不是正确的工作方式,你破坏了 laravel 流程的安全性。
猜你喜欢
  • 2021-12-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-09
  • 1970-01-01
相关资源
最近更新 更多