提问者:小点点

驱动程序中出现异常:SQLSTATE[HY000][1045]用户'db_user'@'localhost'的访问被拒绝(使用密码:YES)


我按照这个留档将原则添加到我的symfony项目(v4.2)中。但是当安装了原则时,它不会将这一行添加到我的项目中(在我的. env文件中,如文档中所述):

DATABASE_URL="mysql://db_user:db_password@127.0.0.1: 3306/db_name"

所以我像这样手动添加:

DATABASE_URL="mysql://root@127.0.0.1: 3306/db_school"

并使用此命令创建数据库:

php bin/控制台原则:数据库:创建

它给我这个错误:

在AbstractMySQLDrive. php第93行中:驱动程序中发生异常:SQLSTATE[HY000][1045]用户'db_user'@'localhost'的访问被拒绝(使用密码:YES)

在PDOConntion. php第31行:SQLSTATE[HY000][1045]拒绝访问用户'db_user'@'localhost'(使用密码:是)
在PDOConntion.php第27行:SQLSTATE[HY000][1045]拒绝访问用户'db_user'@'localhost'(使用密码:是)

即使我更改了用户和密码,它仍然无法识别它。知道为什么它不起作用吗?我将不胜感激。


共3个答案

匿名用户

我认为您必须在DBMS中创建一个带有密码的用户“db_user”。然后授予他“管理”权限。然后更正. env的数据库配置行:

DATABASE_URL="mysql://db_user:db_password@127.0.0.1:3306/db_name"

匿名用户

尝试使用相同的语法,就像您有密码一样,只需在密码应该是的地方输入任何内容:

DATABASE_URL="mysql://root:@127.0.0.1:3306/db_school"

正如这里所解释的:https://github.com/doctrine/DoctrineBundle/issues/746#issuecomment-351788298

匿名用户

这个方法似乎不适合我,我不知道为什么,但它是这样工作的:

  • 所以我使用Flex来安装原则:

作曲家需要学说

然后我运行这个:

作曲家需要orm

>

  • 然后我转到我的文件. env,我发现我的数据库语法自动生成,一切正常。

    此外,我删除了在我的计算机上打开的其他sql处理器(我安装了sql服务器太wamp,这解释了我的冲突),然后重新打开了我的wamp服务器,一切正常。