Mysql 使用RDS的EC2上的Django

Mysql 使用RDS的EC2上的Django,mysql,django,amazon-web-services,rds,Mysql,Django,Amazon Web Services,Rds,我有一个Django应用程序在EC2实例上运行,并试图连接到RDS mysql数据库实例 我已经创建了RDS数据库,并在RDS安全组中添加了允许EC2安全组的规则 在我的settings.py文件中,我添加了主机作为RDS端点,端口为3306,以及数据库名称、用户和密码 我已经在EC2实例上安装了libmysqlclient-dev、MySQL-python和MySQL-client 运行/manage.py syncdb时,出现以下错误: super(Connection, self).__i

我有一个Django应用程序在EC2实例上运行,并试图连接到RDS mysql数据库实例

我已经创建了RDS数据库,并在RDS安全组中添加了允许EC2安全组的规则

在我的
settings.py
文件中,我添加了主机作为RDS端点,端口为3306,以及数据库名称、用户和密码

我已经在EC2实例上安装了libmysqlclient-dev、MySQL-python和MySQL-client

运行
/manage.py syncdb
时,出现以下错误:

super(Connection, self).__init__(*args, **kwargs2)
_mysql_exceptions.OperationalError: (2002, "Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)")*
它看起来像是试图连接到本地mysql服务器(当然不存在,因为我希望它连接到RDS)


如何克服此问题?

您没有将rds设置为默认值,或者加载了错误的设置文件。pythonmysql试图通过socket(主机字段为空时)连接localhost base。您可以尝试在设置中打印数据库['default']['HOST'],或在设置中使用django shell检查主机

在EC2实例上,在shell中,您可以使用mysql命令行连接到mysql吗?我没有使用RDS,但您是否必须为其分配一个类似EC2的安全组,并为您的ip启用对端口3306的访问?您是否将RDS设置添加到
default
数据库设置中?