我在 AWS linux 2 上的弹性豆茎设置中遇到问题。这是一个以Postgres作为数据库的laravel应用程序。用户的密码身份验证失败



我在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手册

修改主用户密码,请执行以下步骤:

  1. 打开Amazon RDS控制台
  2. <
  3. 选择数据库/strong>。
  4. 选择RDS DB实例,然后选择Modify
    注意:如果使用Aurora,请展开集群,并选择要修改的实例。然后选择Modify
  5. 新主密码中输入要使用的主用户密码字段。
    注意:异步修改,尽快生效。这个修改忽略了Apply immediate设置。
  6. 选择,然后选择Modify DB Instance

状态RDS指示板上RDS DB实例的字段更改为reset -master-credentials. 修改完成后,Status列更改为Available. 您还可以使用Amazon RDS API或AWS命令行接口(AWS CLI)修改RDS DB实例。

如果您的DB自部署到AWS EC2实例

则可能需要开启postgres用户的密码认证。默认情况下,新建DB实例禁用此功能。

  1. 查找pg_hba.conf文件要在服务器上查找pg_hba.conf文件,可以查看PostgreSQL配置目录。例如:
find /etc/postgresql/ -name pg_hba.conf
  1. 然后打开${EDITOR}中找到的文件
  2. 允许对来自本地192.168.0.0/24网络的任何连接进行md5密码验证,添加如下行:
# TYPE    DATABASE    USER        ADDRESS         METHOD  OPTIONS
host      all         all         192.0.0.0/24    md5
  1. 然后重新启动PostgreSQL:
sudo pgctl restart

你是对的@Yasen谢谢你。

修改密码有效

它在我的脑海中闪过,但我只是不断地创建新的数据库实例与相同的密码,它一直失败。

无论如何,潜在的问题是密码在laravel中包含'#'和'#',因此php意味着注释;所以,不知何故,它影响了验证过程。

相关内容

  • 没有找到相关文章