我在PythonAnywhere上有一个Django应用(Python 3.4,Django 1.7),以及一个MySQL数据库。
数据库在已部署的应用程序上运行良好。
但是,我无法将其连接到本地计算机上的应用程序。
当我运行python manage.py runserver
时会引发以下错误:
django.db.utils.InterfaceError:(2003年,“ 2003:无法连接到'mysql.server:3306'上的MySQL服务器(提供8个节点名或服务名,或者未知)”,无)
这些是我使用的属性:
DATABASES = {
'default': {
'ENGINE': 'mysql.connector.django',
'NAME': '<username>$<database_name>',
'USER': '<username>',
'PASSWORD': '<databse_password>',
'HOST': 'pythonanywhere.com'
}
}
我也尝试过mysql.server
和mysql.server.pythonanywhere.com
作为HOST
,但没有更多的运气。
python大神给出的解决方案
我认为不可能从远程直接连接到mysqlserver实例,出于安全原因,端口3306被阻止。
他们建议通过SSH隧道进行连接,遵循此link。我不知道如果可以在Django中进行ssh隧道,则可能应该编写自定义配置。在您的PC上安装SSH隧道软件,然后将Django应用程序连接到您必须选择的端口上的localhost更为简单。
再见