【问题标题】:Doctrine MySQL Error 1045 (Using Password: NO) even though there is a password and it's correctDoctrine MySQL 错误 1045(使用密码:否)即使有密码并且是正确的
【发布时间】:2016-09-19 18:01:27
【问题描述】:

尝试在 Doctrine 中创建数据库时,我不断收到此问题(我使用的是 Symfony 3.1.4):

驱动程序发生异常:SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: NO)`

据我所知,当用户没有密码或密码不正确时,尝试连接 MySQL 时会弹出此错误。但这不是我的情况。

parameters.yml 如下:

# This file is auto-generated during the composer install parameters:
database_host: 127.0.0.1
database_port: 8080
database_name: symfony_db
database_user: root
database_password: password
mailer_transport: smtp
mailer_host: 127.0.0.1
mailer_user: null
mailer_password: null
secret: secret`

还有 config.yml...

# Doctrine Configuration
doctrine:
    dbal:
        driver:   pdo_mysql
        host:     "%database_host%"
        port:     "%database_port%"
        dbname:   "%database_name%"
        user:     "%database_user%"
        password: "%database_password%"
        charset:  UTF8`

所以,这里似乎没有任何问题。 MySQL 确实有密码,parameters.yml 中的密码和我在 phpmyadmin 中使用的和使用 Laravel 时使用的完全一样。

提前致谢。

【问题讨论】:

  • 将您的 database_host 更改为 localhost 而不是 127.0.0.1
  • 没有骰子,结果一样!
  • 它说“使用密码:否”所以我认为你的配置是错误的。
  • 那可能是,但在哪里?我承认我在安装 Symfony 时浏览了配置部分,但它所做的只是构建我可以稍后编辑的 parameters.yml 文件,对吧?
  • 不确定这是否有任何关系,但我会重新检查您使用的端口。 8080 默认是 HTTP 端口,而 MySQL 默认使用 3306。

标签: php mysql doctrine symfony


【解决方案1】:

所以,我设法解决了它。

正如 cmets 中提到的,我确实浏览了 Symfony 安装说明,以便稍后在 parameters.yml 中进行更改,但发生的情况是,当我更改 config.yml 和 parameters.yml 时,Symfony 没有做任何新的事情,只有初始参数存在。

我终于找到了原因,感谢 #symfony IRC 频道上的一些乐于助人的人:在我更改配置时,我最初在安装过程中插入的错误信息被缓存了,所以我只有要做的是在连接之前在命令行上运行php bin/console doctrine:cache:clear

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-20
    • 2021-10-02
    • 2013-12-10
    • 2019-03-16
    • 1970-01-01
    • 2017-07-18
    相关资源
    最近更新 更多