【问题标题】:Symfony console doctrine:schema:update --force SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: NO)Symfony 控制台原则:schema:update --force SQLSTATE[HY000] [1045] 用户 'root'@'localhost' 的访问被拒绝(使用密码:否)
【发布时间】:2018-12-18 20:31:54
【问题描述】:

我有一个连接到本地 MySQL 实例的 Symfony 4 应用程序。它在应用程序中运行良好,并且在使用控制台命令进行教义时也运行良好。突然间,即使我的数据库配置没有任何变化(并且我的 mysql 实例正在运行),我也收到了这个错误:

SQLSTATE[HY000] [1045] 用户 'root'@'localhost' 的访问被拒绝(使用密码:否)

当我跑步时:

php bin/console 原则:schema:update --force

但是我在应用程序中的连接工作得非常好!一个小时前,同样的命令运行良好。我知道已经有很多关于这个问题的问题,但答案不适用于我。我现在面临完成一个项目的时间压力,这让我发疯。

这是我的 .env 配置:

DB_USER=root
DB_PASSWORD=root
DB_HOST=localhost
DB_PORT=3306
DB_NAME=test DATABASE_URL=mysql://${DB_USER}:${DB_PASSWORD}@${DB_HOST}:${DB_PORT}/${DB_NAME}

我的教义.yaml 配置如下所示:

parameters:
    # Adds a fallback DATABASE_URL if the env var is not set.
    # This allows you to run cache:warmup even if your
    # environment variables are not available yet.
    # You should not need to change this value.
    env(DATABASE_URL): ''

doctrine:
    dbal:
        # configure these for your database server
        driver: 'pdo_mysql'
        server_version: '5.7'
        charset: utf8mb4
        default_table_options:
            charset: utf8mb4
            collate: utf8mb4_unicode_ci

        url: '%env(resolve:DATABASE_URL)%'
        mapping_types:
            enum: string
    orm:
        auto_generate_proxy_classes: true
        naming_strategy: doctrine.orm.naming_strategy.underscore
        auto_mapping: true
        mappings:
            App:
                is_bundle: false
                type: annotation
                dir: '%kernel.project_dir%/src/Entity'
                prefix: 'App\Entity'
                alias: App

【问题讨论】:

  • 小点你真的不应该首先使用root来访问 MySQL 数据库的任何应用程序
  • 一个人不得不问,根据它工作到一个小时前你最近改变了什么
  • @RiggsFolly 我没有更改任何与数据库相关的内容……我只是在编写 JavaScript 代码。我通过更改教义.yaml 中的字符集和排序规则解决了这个问题,但在那之前它一直保持不变(我可以在我的 git 中看到它)。我猜它只是这些鬼魂之一。

标签: php mysql symfony doctrine


【解决方案1】:

我通过将教义.yaml 中的字符集和排序规则更改为另一个更通用的 utf8 来解决了这个问题。在那之前我一直没有改变它,而且它之前也可以使用它,所以我不知道为什么它突然决定在应用程序的一部分中它不够好。

【讨论】:

    猜你喜欢
    • 2018-10-08
    • 1970-01-01
    • 2020-01-16
    • 2020-08-20
    • 2018-07-22
    • 2017-11-05
    • 1970-01-01
    • 2015-08-16
    相关资源
    最近更新 更多