我已经创建了一个虚拟环境并安装了以下内容:
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)")
我不知道这里有什么问题...... 我搜索了一下...主要是我发现如果我使用 virtualenvironment 那么上面的设置就足够了...这里有什么问题???
最佳答案
安装mysql服务器
sudo apt-get install mysql-server
然后为您的目的创建一个数据库:
mysql -u root -p --execute "create database DB_NAME; grant all on DB_NAME.* to DB_USER@localhost identified by 'DB_PASSWORD';"
那你应该没问题。
我要指出的是,mysql搜索套接字的困惑,即使指定了一个端口,是因为mysql在指定localhost
作为地址时默认为一个套接字,如果你想使用tcp/ip 那么你应该在那里放一个像 127.0.0.1
这样的地址。
关于python - django 无法通过套接字连接到本地 MySQL 服务器 '/var/run/mysqld/mysqld.sock,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27589604/