【发布时间】:2018-01-19 06:41:35
【问题描述】:
我在 PythonAnywhere 上托管我的网站。
我在服务上有两个数据库:myusername$production 和 myusername$dev。
生产数据库每晚都会自行备份,并使用最新一批实时数据加载开发数据库。我正在尝试通过 ssh 将我的 Django 开发环境连接到 dev 数据库,这可以作为 PythonAnywhere 的付费客户。
I followed their advice 并下载了 MySQL Workbench,它可以毫无问题地连接到所述数据库。然后我尝试在 Django 中设置我的dev.py 设置如下:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'myusername$dev',
'USER': 'myusername',
'PASSWORD': 'mypassword',
'HOST': '127.0.0.1',
'PORT': '3306',
}
}
但是这会导致django.db.utils.OperationalError: (2003, "Can't connect to MySQL server on '127.0.0.1' (10061)") 错误。我还尝试将127.0.0.1 替换为localhost,并将主机和端口都留空,但这些都不起作用。
然后我在他们的网站上尝试了其他两个选项,也就是直接通过 python 代码访问数据库,以及使用 Putty(我是 Windows 10 用户),但是这些都不起作用。
任何建议将不胜感激。
【问题讨论】:
-
检查主机参数
127.0.0.1假设数据库在您的 PC 上。所以这不可能是正确的。所以请改用你服务器的 IP 地址 -
@RiggsFolly 嗯 - 我没有 IP 地址 - 但我有以下内容:
myusername.mysql.pythonanywhere-services.com所以我尝试使用它。它比我使用 localhost 的时间长了一点,但它仍然失败了......不过这次是错误10060!我猜有什么进展? -
myusername是否有权远程登录 -
@RiggsFolly 是的,因为它是我过去使用 Workbench 登录的同一用户。我完全失去了!