在Django中获取未知的MySQL服务器主机

时间:2013-07-02 04:40:57

标签: mysql django amazon-web-services

我有一个MySQL RDS实例,亚马逊的AWS作为我的Django应用程序的数据库。当我运行命令python manage.py runserver 192.68.1.103:8000时,我收到此错误:

(2005, "Unknown MySQL server host 'myapp.us-east-1.rds.amazonaws.com' (2)")

我可以使用MySQL Workbench连接到数据库。当我通过Apache运行应用程序时,也没有问题。我尝试重新启动RDS实例但是没有解决问题。

这里发生了什么以及如何解决?

2 个答案:

答案 0 :(得分:4)

我遇到了同样的问题。最初我在配置字典的HOST字段中使用hostname:port。当我将其更改为“端口”的单独字段时,一切运行良好。

由此:

DATABASES = {
    'default': {
        ....
        'HOST': 'hostname:3306',
        'USER': 'username',
        ...
    },
}

我改为:

DATABASES = {
    'default': {
        ....
        'HOST': 'hostname',
        'PORT': '3306',
        'USER': 'username',
        ....
    },
}

我希望它有所帮助:)

答案 1 :(得分:3)

我在一台长时间运行的终端(iTerm2)窗口的本地机器上遇到过这个问题。我不确定它是什么,但Django没有解析我的数据库服务器名称,可能是因为一些DNS问题。

因此在另一个终端中运行./manage.py runserver解决了问题