【发布时间】:2020-06-09 05:52:44
【问题描述】:
我正在开发在 AWS EC2(Ubuntu) 上托管的 Laravel 项目,并在同一个 VPC 上使用 RDS(MySQL)。 我可以通过命令行毫无问题地连接到 MySQL,但是当 Laravel 应用程序尝试连接到数据库时,访问被拒绝。
SQLSTATE[HY000] [1045] 拒绝用户访问 'username'@'ipaddress' (使用密码: Y ES) (SQL: select * from
tablename)
下面是我在 .env 文件中的数据库配置:
DB_HOST=verylonghostname.rds.amazonaws.com
DB_PORT=3306
DB_DATABASE=dbname
DB_USERNAME=dbusername
DB_PASSWORD=dbpassword
可能是什么问题,我该如何解决?
【问题讨论】:
-
当你说你可以通过命令行连接是当你SSH到EC2服务器时?它是否使用与 Laravel 尝试相同的用户名和密码?当您在命令行中连接时,您还可以从 Laravel 尝试的数据库中查询吗?
-
如果 larvel 做了一个
SELECT CURRENT_USER(),该答案的主机部分会包括您连接的 IP 地址范围吗? -
@apokryfos 是的,我 ssh 到 ec2 服务器,然后使用与 laravel env 文件中相同的用户和密码连接到 rds。我也可以毫无问题地查询同一个数据库。
标签: php mysql laravel amazon-web-services amazon-rds