2013-09-26 128 views
3

我试图将我的Django应用程序连接到MAMP mysql数据库。大约一个月我没有使用django,并对新的数据库格式感到惊讶。我不知道如何访问我的Mamp数据库。将Django 1.5.4连接到Mamp MySQL - 无法连接到本地服务器

MAMP运行

MySQL正在运行&我建立了phpMyAdmin的数据库(所谓的 “教程”)

的Django的settings.py

DATABASES = { 
    'default': { 
     'ENGINE': 'django.db.backends.mysql', 
     'NAME': os.path.join(BASE_DIR, '~/tutorial.db'), 
    } 
} 

这是我唯一拥有的东西改变。

当我运行$蟒蛇manage.py runserver命令 我收到此错误:

... 
    File "/Users/Marcus/sites/venv/lib/python2.7/site-packages/MySQLdb/__init__.py", line 81, in Connect 
    return Connection(*args, **kwargs) 
    File "/Users/Marcus/sites/venv/lib/python2.7/site-packages/MySQLdb/connections.py", line 187, in __init__ 
    super(Connection, self).__init__(*args, **kwargs2) 
django.db.utils.OperationalError: (2002, "Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)") 

感谢

+0

数据库确实一个IP和端口,通过Django是可达的运行?涉及防火墙? –

+0

我很困惑你的评论,但Mamp端口是默认值(apache 8888,MySQL 8889)无论如何包括这个? – Marcus

+0

是我们的系统还是你的吗?自己检查你的系统,并使用你的操作系统工具检查IP地址和使用的端口...接近downvote ... –

回答

1

我知道这是一个老问题。 如果有人仍在寻找答案,请添加答案。

Quick and easy solution is to create a symlink so OS can find the correct socket.

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