我有一个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工作台连接到数据库。当我通过Apache运行该应用程序时,也没有任何问题。我尝试重新启动RDS实例,但没有解决问题。
这里发生了什么,我该如何解决?
我在本地机器上的某个长时间运行的终端(iTerm2)窗口中遇到了这种情况。我不确定是什么,但Django没有解析我的数据库服务器名称,可能是因为一些DNS问题。
因此,在另一个终端中运行./manage.py runserver
解决了问题
我也遇到过同样的问题。最初,我在配置字典的HOST字段中使用hostname:port。当我把它改成有一个单独的"端口"字段时,一切都很好。
由此:
DATABASES = {
'default': {
....
'HOST': 'hostname:3306',
'USER': 'username',
...
},
}
我改成了这个:
DATABASES = {
'default': {
....
'HOST': 'hostname',
'PORT': '3306',
'USER': 'username',
....
},
}
我希望它能有所帮助:)
在我的案例中,代码中没有任何错误,但我的数据库数据不知何故已经损坏。所以我只是重置了数据库,这个错误就解决了。