驱动程序发生异常:SQLSTATE[HY000] [1045] 用户 'db_user'@'localhost' 的访问被拒绝(使用密码:YES)
An exception occurred in driver: SQLSTATE[HY000] [1045] Access denied for user 'db_user'@'localhost' (using password: YES)
我关注了这个documentation
将教义添加到我的 symfony 项目 (v4.2)。但是当安装了 doctrine 后,它不会将这一行添加到我的项目中(在我的 .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/console doctrine:database:create
它给了我这个错误:
In AbstractMySQLDriver.php line 93:
An exception occurred in driver: SQLSTATE[HY000] [1045] Access denied for user 'db_user'@'localhost' (using password: YES)
In PDOConnection.php line 31:
SQLSTATE[HY000] [1045] Access denied for user 'db_user'@'localhost' (using password: YES)
In PDOConnection.php line 27:
SQLSTATE[HY000] [1045] Access denied for user 'db_user'@'localhost' (using password: YES)
即使我更改了用户名和密码,它仍然无法识别。知道为什么它不起作用吗?我会感激的。
我认为您必须在您的 DBMS 中创建一个带密码的用户 "db_user"。然后授予他"Administration"权限。然后更正 .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来安装学说:
composer require doctrine
然后我运行这个:
composer require orm
然后我转到我的文件 .env
,我发现我的数据库语法是自动生成的,一切正常。
我还删除了我计算机上打开的其他 sql 处理器(我也安装了 sql 服务器 + wamp,这解释了我的冲突)然后re-opened 我的 wamp 服务器和一切工作正常。
我关注了这个documentation 将教义添加到我的 symfony 项目 (v4.2)。但是当安装了 doctrine 后,它不会将这一行添加到我的项目中(在我的 .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/console doctrine:database:create
它给了我这个错误:
In AbstractMySQLDriver.php line 93: An exception occurred in driver: SQLSTATE[HY000] [1045] Access denied for user 'db_user'@'localhost' (using password: YES)
In PDOConnection.php line 31: SQLSTATE[HY000] [1045] Access denied for user 'db_user'@'localhost' (using password: YES)
In PDOConnection.php line 27: SQLSTATE[HY000] [1045] Access denied for user 'db_user'@'localhost' (using password: YES)
即使我更改了用户名和密码,它仍然无法识别。知道为什么它不起作用吗?我会感激的。
我认为您必须在您的 DBMS 中创建一个带密码的用户 "db_user"。然后授予他"Administration"权限。然后更正 .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来安装学说:
composer require doctrine
然后我运行这个:
composer require orm
然后我转到我的文件
.env
,我发现我的数据库语法是自动生成的,一切正常。我还删除了我计算机上打开的其他 sql 处理器(我也安装了 sql 服务器 + wamp,这解释了我的冲突)然后re-opened 我的 wamp 服务器和一切工作正常。