Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel无法连接到Amazon RDS中的MySQL,但可以通过命令行连接_Php_Mysql_Laravel_Amazon Web Services_Amazon Rds - Fatal编程技术网

Php Laravel无法连接到Amazon RDS中的MySQL,但可以通过命令行连接

Php Laravel无法连接到Amazon RDS中的MySQL,但可以通过命令行连接,php,mysql,laravel,amazon-web-services,amazon-rds,Php,Mysql,Laravel,Amazon Web Services,Amazon Rds,我正在从事Laravel项目,该项目位于AWS EC2(Ubuntu)上,RDS(MySQL)位于同一VPC上。 我可以通过命令行连接到MySQL,但当Laravel应用程序尝试连接到数据库时,访问被拒绝 用户的SQLSTATE[HY000][1045]访问被拒绝 “用户名”@“IP地址”(使用密码:Y ES)(SQL:select*from) tablename) 下面是我在.env文件中的数据库配置: DB_HOST=verylonghostname.rds.amazonaws.com

我正在从事Laravel项目,该项目位于AWS EC2(Ubuntu)上,RDS(MySQL)位于同一VPC上。 我可以通过命令行连接到MySQL,但当Laravel应用程序尝试连接到数据库时,访问被拒绝

用户的SQLSTATE[HY000][1045]访问被拒绝 “用户名”@“IP地址”(使用密码: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

可能是什么问题?我如何解决它?

我尝试为laravel创建另一个db用户,结果成功了! 显然,如果我使用db用户名“admin”,连接将被拒绝。
也许这是AWS的一种安全措施。

当你说你可以通过命令行连接时,这是你SSH到EC2服务器的时候吗?它是否使用与Laravel尝试使用的相同的用户名和密码?另外,当您在命令行中连接时,您是否可以从数据库中查询larvel尝试进行的操作?如果larvel执行了
选择CURRENT_USER()
操作,则该回答的主机部分是否包括您连接的IP地址范围?@apokryfos yes I ssh到ec2服务器,然后使用与Laravel env文件中相同的用户和密码连接到rds。我也可以毫无问题地查询同一个数据库。