【问题标题】:Django on EC2 using RDSEC2 上的 Django 使用 RDS
【发布时间】:2013-03-19 18:47:28
【问题描述】:

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

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

在我的settings.py 文件中,我已将 HOST 添加为 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)。

我怎样才能克服这个问题?

【问题讨论】:

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

标签: mysql django amazon-web-services rds


【解决方案1】:

你没有默认设置rds,或者你加载了错误的设置文件。 Python mysql 试图通过套接字连接本地主机基地(当 HOST 字段为空时)。您可以尝试在设置中打印 DATABASE['default']['HOST'] 或 django shell 在设置中检查主机。

【讨论】:

    猜你喜欢
    • 2018-07-22
    • 2014-06-12
    • 2017-03-04
    • 2014-05-01
    • 2018-03-06
    • 1970-01-01
    • 2012-05-31
    • 2023-03-08
    • 2021-12-26
    相关资源
    最近更新 更多