我正在 pythonanywhere.com 上运行带有 MySQL 的 Django 1.6 。在 bash 命令行中:
- mysqldb 已通过 pip 安装
- 我可以通过命令行访问 mysql 数据库
$ mysql -h $your_IP =P 3306 -u username -p
但是,当我尝试运行 python manage.pysyncdb 时,出现以下错误:
File "/usr/local/lib/python2.7/dist-packages/MySQLdb/connections.py", line 187, in __init__
super(Connection, self).__init__(*args, **kwargs2)
_mysql_exceptions.OperationalError: (2003, "Can't connect to MySQL server on 'mysql.server' (111)")
在我的 django 设置中,我有
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'mydatabasename',
'USER': 'myusername',
'PASSWORD': 'mypassword',
'HOST': 'mysql.server',
'PORT': '3360',
}
}
我尝试运行python manage.py test 和 python manage.py testserver
并得到了完全相同的错误。我尝试了 python -v manage.py 等来获取详细的信息,似乎还有很多其他东西无法导入?难道是没有找到settings.py?整个设置在本地运行得非常好,我所做的就是将其推送到服务器并更改数据库设置。
有什么想法吗???
最佳答案
您的设置将端口读取为'PORT': '3360',
将其更改为3306
。另外,请确保 mysql.server 是有效的服务器主机。或者它可能只是localhost
关于python - MySQLdb connection.py "cant connect"与 Django,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22676798/