AWS RDS 中的 Doctrine 连接超时错误

Doctrine connection time out error in AWS RDS

我正在尝试将 AWS RDS 连接到我的 AWS EC2 应用程序,这是一个使用原则模块连接到 mysql 的 zend framwork 应用程序。我可以从 mysql Workbench 成功连接到我的 AWS RDS 数据库。任何帮助将不胜感激。 她是一些堆栈跟踪:

PDOException
/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:40
SQLSTATE[HY000] [2002] Connection timed out
vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php(40): PDO->__construct('mysql:host=doct...', 'user', 'password', Array)
vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOMySql/Driver.php(41): Doctrine\DBAL\Driver\PDOConnection->__construct('mysql:host=doct...', 'user', 'password', Array)
 vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(356): Doctrine\DBAL\Driver\PDOMySql\Driver->connect(Array, 'user', 'password', Array)
 vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(680): Doctrine\DBAL\Connection->connect()
 vendor/doctrine/orm/lib/Doctrine/ORM/Query/Exec/SingleSelectExecutor.php(50): Doctrine\DBAL\Connection->executeQuery('SELECT COUNT(*)...', Array, Array, NULL)
vendor/doctrine/orm/lib/Doctrine/ORM/Query.php(286): Doctrine\ORM\Query\Exec\SingleSelectExecutor->execute(Object(Doctrine\DBAL\Connection), Array, Array)
vendor/doctrine/orm/lib/Doctrine/ORM/AbstractQuery.php(794): Doctrine\ORM\Query->_doExecute()
vendor/doctrine/orm/lib/Doctrine/ORM/AbstractQuery.php(598): Doctrine\ORM\AbstractQuery->execute(NULL, 3)

这是一个复杂的查询吗?用户是否有执行该查询的适当权限?

不要认为问题是 Doctrine 引起的,而是您从中执行查询的主机的出站防火墙。与 Workbench 执行的是同一台机器吗?

我在AWS的app只监听我的ip,改成任意ip后问题解决。 但是对于这个问题的未来访问者,我应该说该学说试图在没有 lac 的情况下连接,直到它 运行 超时(30sk),并且对于 aws 访问者我应该说确保你的实例和 RDS 正在收听彼此即。有合适的安全组。有关更多信息,请查看:aws security groups :)