我将按照本教程使用MySQL构建Django应用程序。
我正在使用XAMPP-VM for Mac。我为Django设置了数据库设置:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'djangoproject',
'USER': 'root',
'PASSWORD': '',
'HOST': 'localhost',
'PORT': '8080',
}
}
我已经在XAMPP上启动了MySQL,但当我运行python manage.py migrate时,我得到了:
django.db.utils.OperationalError:(2002,"无法连接到本地MySQL服务器通过套接字'/tmp/mysql.sock'(2("(
感谢您的帮助!
只需将HOST
从localhost
更改为ip 127.0.0.1
。这将解决您的问题。
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'djangoproject',
'USER': 'root',
'PASSWORD': '',
'HOST': '127.0.0.1',
'PORT': '8080',
}
}
我会尝试将您的HOST从"localhost"更改为"127.0.0.1"。这通常会在我这边纠正它。
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'djangoproject',
'USER': 'root',
'PASSWORD': '',
'HOST': '127.0.0.1',
'PORT': '8080',
}
}
mysql客户端默认情况下尝试通过/tmp/mysql.sock进行连接。您只需要用符号链接将它指向XAMPP的套接字。
ln -s /Applications/MAMP/tmp/mysql/mysql.sock /tmp/mysql.sock
我在mysql最新版本中遇到了同样的错误,所以我降级到mysql 5.7.0,它运行良好。
这可能是由于安装了XAMPP-VM,而不是本地XAMPP。卸载XAMPP-VM并安装XAMPP。