【问题标题】:Getting Unknown MySQL server host in Django在 Django 中获取未知的 MySQL 服务器主机
【发布时间】:2013-07-02 04:40:57
【问题描述】:

我有一个 MySQL RDS 实例,使用 Amazon 的 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 实例,但这并没有解决问题。

这是怎么回事,我该如何解决?

【问题讨论】:

  • 只是确认您知道myapp.us-east-1.rds.amazonaws.com 实际上并没有解决任何问题。我假设您只是出于演示目的将字符串替换为更通用的字符串?
  • @cwallenpoole 是的,我只是用通用的东西替换了字符串。
  • 我可以发誓我以前见过这个问题。
  • @cwallenpoole 你是怎么解决的?
  • 你直接试过IP了吗?你确认你在同一个端口上工作了吗?

标签: mysql django amazon-web-services


【解决方案1】:

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

所以在另一个终端运行./manage.py runserver 解决了这个问题

【讨论】:

  • 就像魔术一样...我也在使用 iTerm2。也许这是他们应该热衷的事情。谢谢!
  • 我也是这样,我用的是zsh
【解决方案2】:

我也遇到了同样的问题。最初,我在配置字典的 HOST 字段中使用主机名:端口。当我将其更改为“端口”有一个单独的字段时,一切正常。

从这里:

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

我改成这样了:

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

希望对你有帮助:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-12-30
    • 2016-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-22
    • 1970-01-01
    • 2013-05-27
    相关资源
    最近更新 更多