Mac上的Django + XAMPP(2002,“无法通过套接字'/tmp/mysql.sock'(2)连接到本地MySQL服务器”)

时间:2018-11-15 07:37:11

标签: php mysql django xampp xampp-vm

我正在按照this教程使用MySQL构建Django应用。

我正在使用Mac的XAMPP-VM。我为Django设置了数据库设置:

df = df.append(df.set_index(['Type','Val_1','Val_2'])['Val'].repeat(df['repeat_num']).reset_index(), 
               sort=False, ignore_index=True)

我已经在XAMPP上启动了MySQL,但是当我运行python manage.py migration时,我得到了:

  

django.db.utils.OperationalError:(2002年,“无法连接到本地MySQL   服务器通过套接字'/tmp/mysql.sock'(2)“)

谢谢您的帮助!

5 个答案:

答案 0 :(得分:0)

默认情况下,mysql客户端尝试通过/tmp/mysql.sock进行连接。您只需要使用符号链接将其指向XAMPP的套接字即可。

ln -s /Applications/MAMP/tmp/mysql/mysql.sock /tmp/mysql.sock

答案 1 :(得分:0)

我会尝试将您的HOST从“本地主机”更改为“ 127.0.0.1”。通常,这可以纠正我的麻烦。

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'djangoproject',
        'USER': 'root',
        'PASSWORD': '',
        'HOST': '127.0.0.1',
        'PORT': '8080',
    }
}

答案 2 :(得分:0)

只需将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',
    }
}

答案 3 :(得分:0)

我在mysql最新版本中遇到了同样的错误,因此我降级到mysql 5.7.0,并且可以正常工作。

答案 4 :(得分:0)

这可能是由于安装了XAMPP-VM而非本地XAMPP。卸载XAMPP-VM并安装XAMPP。