Symfony - doctrine:SQLSTATE [HY000] [1045]访问被拒绝用户'root'@'localhost'(使用密码:YES)

时间:2017-06-16 09:19:25

标签: php sql database symfony doctrine

我是symfony的新手,我正试图通过学说创建一个实体,我正在使用Windows和xampp。

在一个cmd中,我让服务器运行(php bin/console server:run) 在另一个cmd中,我尝试使用php bin/console doctrine:generate:entity

创建实体

它询问我的实体快捷方式名称(BlogBundle:Post)之后我得到三个相同类型的错误;

SQLSTATE[HY000] [1045] access denied for user 'root'@'localhost' (using password: NO)

我用Google搜索,发现,因为我已经在xampp中拥有数据库,并更改了密码。因此我应该在parameters.yml中更改我的密码,我做了(我还在phpMyAdmin中创建了一个空的symfony数据库);

# This file is auto-generated during the composer install
parameters:
    database_host: 127.0.0.1
    database_port: null
    database_name: symfony
    database_user: root
    database_password: mypassword
    mailer_transport: smtp
    mailer_host: 127.0.0.1
    mailer_user: null
    mailer_password: null
    secret: ac8be0befa84f2aeda5d2e9068a7ae2e948376fb

我的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
        # if using pdo_sqlite as your database driver:
        #   1. add the path in parameters.yml
        #     e.g. database_path: "%kernel.project_dir%/var/data/data.sqlite"
        #   2. Uncomment database_path in parameters.yml.dist
        #   3. Uncomment next line:
        #path: '%database_path%'

    orm:
        auto_generate_proxy_classes: '%kernel.debug%'
        naming_strategy: doctrine.orm.naming_strategy.underscore
        auto_mapping: true

在此之后我仍然得到三个错误,只有'密码:否'更改为'密码:是';

SQLSTATE[HY000] [1045] access denied for user 'root'@'localhost' (using password: YES)

有人能告诉我哪里出了问题以及我应该改变什么?

我已经尝试了SQLSTATE[28000] [1045] Access denied for user 'root'@'localhost' (using password: NO)中的所有内容。将主机从127.0.0.1更改为localhost,将端口更改为3306,将密码放在引号中,SonataUserBundle部分不适用于此处。

1 个答案:

答案 0 :(得分:3)

我在抛出mysql时遇到了相同的错误,解决方案是将密码包装在单引号中

    database_password: 'mypassword'