gpt4 book ai didi

mysql - Laravel 权限在远程 Mysql 服务器上被拒绝(AWS aurora)

转载 作者:行者123 更新时间:2023-11-29 15:38:22 25 4
gpt4 key购买 nike

我有一个带有 Laravel 应用程序的 centos EC2。我还在同一个 EC2 实例上安装了 MySQL。运行良好。

现在我决定将 MYSQL 迁移到 AWS RDS (MySQL Aurora)。我可以通过 Heidi 连接到 AWS RDS 并毫无问题地进行查询。

但是在 Laravel 中它会抛出异常。我更改了 DB_HOST、DB_DATABASE、DB_USERNAME、DB_PASSWORD 的 .env 文件凭据。

请参阅下面的异常(exception)情况:

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,它将抛出相同的异常。

最佳答案

如果您在 centos EC2 上运行 SELinux,请尝试关闭 SELinux 并再次测试您的应用程序。如果是 SELinux 导致了此问题,则很可能是由于数据库外部连接策略所致。您应该重新打开 SELinux 并使用此命令启用该策略。

sudo setsebool -P httpd_can_network_connect_db=1

关于mysql - Laravel 权限在远程 Mysql 服务器上被拒绝(AWS aurora),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57975254/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com