我在AWS上有一个关于弹性豆茎的laravel应用程序。我使用Postgres作为DB。这是一个AWS linux 2。
当我尝试连接到本地数据库时,我得到这个错误。
我尝试修改数据库的入站规则,仍然不工作。
IlluminateDatabaseQueryException: SQLSTATE[08006] [7] FATAL:用户"postgresql"密码验证失败;致命:密码用户postgresql身份验证失败;SQL: select count(*) as从"用户"中聚合在"phoneNumber"= + 111111111111111111) in file/var/app/current/vendor/laravel/framework/src/Illuminate/Database/Connection.php第692行
如果您的数据库是托管PostgreSQL on AWS RDS
则可能需要重置postgres
用户的密码。
按RDS手册
修改主用户密码,请执行以下步骤:
- 打开Amazon RDS控制台
<- 选择数据库/strong>。
- 选择RDS DB实例,然后选择Modify。
注意:如果使用Aurora,请展开集群,并选择要修改的实例。然后选择Modify。- 在新主密码中输入要使用的主用户密码字段。
注意:异步修改,尽快生效。这个修改忽略了Apply immediate设置。- 选择继续strong>,然后选择Modify DB Instance。
状态RDS指示板上RDS DB实例的字段更改为reset -master-credentials. 修改完成后,Status列更改为Available. 您还可以使用Amazon RDS API或AWS命令行接口(AWS CLI)修改RDS DB实例。
如果您的DB自部署到AWS EC2
实例
则可能需要开启postgres
用户的密码认证。默认情况下,新建DB实例禁用此功能。
- 查找
pg_hba.conf
文件要在服务器上查找pg_hba.conf文件,可以查看PostgreSQL配置目录。例如:
find /etc/postgresql/ -name pg_hba.conf
- 然后打开
${EDITOR}
中找到的文件 - 允许对来自本地192.168.0.0/24网络的任何连接进行md5密码验证,添加如下行:
# TYPE DATABASE USER ADDRESS METHOD OPTIONS
host all all 192.0.0.0/24 md5
- 然后重新启动PostgreSQL:
sudo pgctl restart
你是对的@Yasen谢谢你。
修改密码有效
它在我的脑海中闪过,但我只是不断地创建新的数据库实例与相同的密码,它一直失败。
无论如何,潜在的问题是密码在laravel中包含'#'和'#',因此php意味着注释;所以,不知何故,它影响了验证过程。