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】:

只需将 HOSTlocalhost 更改为 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

为啥 jQuery 不能在我的 Mac 上的 xampp 上运行?

在 Mac 上的 XAMPP 上设置虚拟主机

在 Mac 上的 XAMPP 上设置虚拟主机

Mac OS X Mojave 上的 XAMPP 错误