我正在尝试连接到我在 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/