python - Django、MySQL 和 Cloud9

标签 python mysql django cloud9-ide

我正在尝试连接到我在 Cloud9 (c9.io) 上的 Django 项目中的 MYSQL 数据库。

起初,我通过在控制台中输入 mysql-ctl start 来启动我的数据库,一切正常。如果我再次输入它,我会收到消息 MySQL already running

settings.py 中,我已将 DATABASES 更新为以下内容:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'c9',
        'USER': 'my_username',
        'PASSWORD': '',
        'HOST': '',
        'PORT': '',
    },
}

但是当我运行 python manage.py syncdb 时,它会导致错误 django.db.utils.OperationalError: (2002, "Can't connect to local MySQL server through套接字 '/var/run/mysqld/mysqld.sock' (2)").

我做错了什么?我读到 HOST 和 PORT 应该留空以获得默认值。

最佳答案

根据 the documentation您应该使用以下参数连接到数据库:

Hostname  $IP       The same local IP as the application you run on Cloud9
Port      3306      The default MySQL port number
User      $C9_USER  Your Cloud9 user name

因此尝试将 HOST/PORT 值添加到 DATABASES 设置中:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'c9',
        'USER': 'my_username',
        'PASSWORD': '',
        'HOST': 'my_ip',
        'PORT': '3306',
    },
}

关于python - Django、MySQL 和 Cloud9,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28513888/

相关文章:

python - 读取在 C 中使用 Python struct 编写的二进制数据

python - 如何通过请求库获取重定向的 URL 或其内容?

python - 将变量与数字相乘时遇到问题

带有表单的 500 错误页面上的 Django CSRF

django - 禁用首选颜色方案 : dark in django admin

python - 什么可能导致此错误: FileNotFoundError: [Errno 2] No such file or directory

mysql - 通过组合表来增加 JOIN 查询响应时间

php - 类似谷歌的搜索功能

php - MYSQL 触发过程 REMOTE_USER

jquery - 如何在 Django 中创建多选框?