【发布时间】:2014-12-21 13:00:44
【问题描述】:
我已经做了一个虚拟环境并安装了以下内容:
sudo apt-get install libmysqlclient-dev
sudo pip install MySQL-python
我的设置是:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'DB_NAME',
'USER': 'DB_USER',
'PASSWORD': 'DB_PASSWORD',
'HOST': 'localhost',
'PORT': '3306',
}
}
当我执行manage.py syncdb 时,它会给出错误提示2002, "Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)")
我不知道这里出了什么问题... 我搜索了它...主要是我发现如果我使用虚拟环境,那么上面的设置就足够了...这里有什么问题???
【问题讨论】:
-
你确定mysql正在运行吗?另外,你确定 sock 位于 /var/run/mysqld/mysqld.sock。尝试在控制台中运行
service mysqld restart。 -
我正要问mysql是否正在运行,但是代码定义了一个端口,这意味着Django根本不应该查看套接字文件......
-
它给出了错误 mysqld: unrecognized service when I do service mysqld restart
-
当我查看 /var/run/ 时没有任何 mysqld
-
@Fizzadar 它会寻找一个套接字,因为
localhost告诉你,如果你想使用 tcp ip 那么你必须将其更改为127.0.0.1