Mac 上的 Django + XAMPP (2002, "Can't connect to local MySQL server through socket '/tmp/mysql.so
Posted
技术标签:
【中文标题】Mac 上的 Django + XAMPP (2002, "Can\'t connect to local MySQL server through socket \'/tmp/mysql.sock\' (2)")【英文标题】:Django + XAMPP on Mac (2002, "Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)")Mac 上的 Django + XAMPP (2002, "Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)") 【发布时间】:2019-04-18 06:17:05 【问题描述】:我正在按照this 教程使用 mysql 构建 Django 应用程序。
我正在为 Mac 使用 XAMPP-VM。我为 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, "Can't connect to local MySQL 服务器通过套接字'/tmp/mysql.sock' (2)")
感谢您的帮助!
【问题讨论】:
Can't connect to local MySQL server through socket '/var/mysql/mysql.sock' (38)的可能重复 很遗憾不是…… 【参考方案1】:只需将 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',
【讨论】:
【参考方案2】:我会尝试将您的主机从“localhost”更改为“127.0.0.1”。这通常会在我结束时纠正它。
DATABASES =
'default':
'ENGINE': 'django.db.backends.mysql',
'NAME': 'djangoproject',
'USER': 'root',
'PASSWORD': '',
'HOST': '127.0.0.1',
'PORT': '8080',
【讨论】:
【参考方案3】:mysql 客户端默认尝试通过 /tmp/mysql.sock 进行连接。您只需使用符号链接将其指向 XAMPP 的套接字。
ln -s /Applications/MAMP/tmp/mysql/mysql.sock /tmp/mysql.sock
【讨论】:
你能解释一下吗?【参考方案4】:我在 mysql 最新版本中遇到了同样的错误,所以我降级到 mysql 5.7.0 并且它工作正常。
【讨论】:
【参考方案5】:这可能是由于安装了 XAMPP-VM 而不是本地 XAMPP。卸载 XAMPP-VM 并安装 XAMPP。
【讨论】:
以上是关于Mac 上的 Django + XAMPP (2002, "Can't connect to local MySQL server through socket '/tmp/mysql.so的主要内容,如果未能解决你的问题,请参考以下文章
在 mac el capitan 上的 xampp 上的 xdebug
/Applications/XAMPP/xamppfiles/bin/php - Xampp Mac 上的 Laravel