MySQLdb connection.py 在Django中“无法连接”

2 投票
1 回答
1326 浏览
提问于 2025-04-18 00:05

我在 pythonanywhere.com 上用 MySQL 运行 Django 1.6。在命令行中:

  • 我已经通过 pip 安装了 mysqldb
  • 我可以通过命令行访问 MySQL 数据库,命令是 $ mysql -h $your_IP -P 3306 -u username -p

但是,当我尝试运行 python manage.py syncdb 时,出现了一个错误,错误信息最后是:

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 testpython manage.py testserver,结果得到了完全相同的错误。我还试过 python -v manage.py 等命令,想看看详细信息,结果发现很多其他的东西都无法导入?是不是因为找不到 settings.py 文件?在本地一切都运行得很好,我只是把它推送到服务器上,并且更改了数据库设置。

有没有什么想法???

1 个回答

3

你的设置里把端口写成了 'PORT': '3360',把它改成 3306。另外,确保 mysql.server 是一个有效的服务器地址。或者你也可以直接用 localhost

撰写回答