Amazon RDS: OperationalError: (2003, "Can't connect to MySQL server on rds.amazonaws.com (110)")
Amazon RDS: OperationalError: (2003, "Can't connect to MySQL server on rds.amazonaws.com (110)")
我已经设置了一个带有 MySQL 数据库的 Amazon 关系数据库服务 (RDS),我正在尝试将它与我的 Django 应用程序连接,但我收到了上述错误。我在settings.py
的数据库设置如下:
DATABASES = {
'default': {
'ENGINE': config('db_engine'),
'NAME': config('db_name'),
'USER': config('db_user'),
'PASSWORD': config('db_password'),
'HOST': config('db_host'),
'PORT': config('db_port')
}
}
和我的数据库环境变量如下:
db_engine=django.db.backends.mysql
db_name=stagingdatabase
db_user=staginguser
db_password=stagingpassword
db_host=somestagingname.somestagingid.us-east-2.rds.amazonaws.com
db_port=3306
我知道端口是正确的,这是大多数出现此类错误的解决方案。所有其他变量也是正确的。
我无法 ping somestagingname.somestagingid.us-east-2.rds.amazonaws.com,即使它的状态可用,所以一定是我设置 RDS 的方式有问题:
这似乎是一个网络问题,Django 服务器无法连接到数据库,这可能发生在多种问题上:
它们位于不同且未连接的 VPN 或网络中。
Django 所在的 EC2 机器的安全组 运行 不允许此出站流量到此网络端口组合。
RDS 中的安全组不允许来自 EC2 计算机所在网络的 3306 端口的入站流量。
如果您在使用 AWS 帐户提供的默认网络的场景中,则可能会放弃第一个场景。此外,默认情况下,EC2 机器允许所有传出流量。
所以我最好的建议是开始检查控制 RDS 入站流量的安全组。
更多信息:https://docs.aws.amazon.com/en_us/AmazonRDS/latest/UserGuide/Overview.RDSSecurityGroups.html
我已经设置了一个带有 MySQL 数据库的 Amazon 关系数据库服务 (RDS),我正在尝试将它与我的 Django 应用程序连接,但我收到了上述错误。我在settings.py
的数据库设置如下:
DATABASES = {
'default': {
'ENGINE': config('db_engine'),
'NAME': config('db_name'),
'USER': config('db_user'),
'PASSWORD': config('db_password'),
'HOST': config('db_host'),
'PORT': config('db_port')
}
}
和我的数据库环境变量如下:
db_engine=django.db.backends.mysql
db_name=stagingdatabase
db_user=staginguser
db_password=stagingpassword
db_host=somestagingname.somestagingid.us-east-2.rds.amazonaws.com
db_port=3306
我知道端口是正确的,这是大多数出现此类错误的解决方案。所有其他变量也是正确的。
我无法 ping somestagingname.somestagingid.us-east-2.rds.amazonaws.com,即使它的状态可用,所以一定是我设置 RDS 的方式有问题:
这似乎是一个网络问题,Django 服务器无法连接到数据库,这可能发生在多种问题上:
它们位于不同且未连接的 VPN 或网络中。
Django 所在的 EC2 机器的安全组 运行 不允许此出站流量到此网络端口组合。
RDS 中的安全组不允许来自 EC2 计算机所在网络的 3306 端口的入站流量。
如果您在使用 AWS 帐户提供的默认网络的场景中,则可能会放弃第一个场景。此外,默认情况下,EC2 机器允许所有传出流量。
所以我最好的建议是开始检查控制 RDS 入站流量的安全组。
更多信息:https://docs.aws.amazon.com/en_us/AmazonRDS/latest/UserGuide/Overview.RDSSecurityGroups.html