【发布时间】:2017-08-13 18:10:25
【问题描述】:
我有一个带有 Laravel 应用程序的 centos EC2。我还在同一个 EC2 实例上安装了 MySQL。它工作正常。
现在我决定将 MYSQL 迁移到 AWS RDS (MySQL Aurora)。我可以通过Heidi连接AWS RDS,查询没有问题。
但是在 Laravel 中它会抛出异常。 我更改了 DB_HOST、DB_DATABASE、DB_USERNAME、DB_PASSWORD 的 .env 文件凭据。
有关例外情况,请参见下文:
1/3 PDOException in PDOConnection.php line 43:
SQLSTATE[HY000] [2002] Permission denied
1. in PDOConnection.php line 43
2. at PDO->__construct('mysql:host=correct_host;port=3306;dbname=correct_db', 'correct_username', 'correct_password', array('0', '2', '0', false, false)) in PDOConnection.php line 43
1/2 PDOException in PDOConnection.php line 47:
SQLSTATE[HY000] [2002] Permission denied
1/3 QueryException in Connection.php line 770:
SQLSTATE[HY000] [2002] Permission denied (SQL: select * from `users` where `users`.`id` = 1 limit 1)
更新
我刚刚将 .env 中的数据库凭据还原为我的旧 MySQL(安装在与 Laravel 应用程序相同的 EC2 实例上)。 它与 DB_HOST=localhost 一起使用,但如果我使用实际 ip,DB_HOST=127.0.0.1,它会抛出相同的异常。
【问题讨论】:
-
在您的 MySQL 实例中,您是否正确设置了 Laravel 使用的用户设置?还要验证用户的主机以及可能就是这样。
-
@user3158900 请查看我更新的异常日志。我可以在错误堆栈中看到主机、数据库、用户名和密码,它们是正确的。它可能需要对来自 laravel 的远程连接做些什么吗?
标签: mysql laravel amazon-web-services