django 链接mysql时 提示2002错误

2012-09-21 17:05:49 +08:00
 touch
OperationalError: (2002, "Can't connect to local MySQL server through socket '/var/run/mysql' (111)")

我在django中设置是 'HOST': '/var/run/mysqld', 为什么还是会去/var/run/mysql 中找sock文件
3682 次点击
所在节点    Django
7 条回复
cloudzhou
2012-09-21 17:19:21 +08:00
给出所有的settings信息,特别是数据库配置那一层
touch
2012-09-21 17:24:57 +08:00
@cloudzhou

4 'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycop g2', 'mysql', 'sqlite3' or 'oracle'.
15 'NAME': 'mysql', # Or path to database fi le if using sqlite3.
16 'USER': 'root', # Not used with sqlite3.
17 'PASSWORD': '123456', # Not used with sqlite3 .
18 'HOST': '/var/run/mysqld', # Set to empty string for localhost. Not used with sqlite3.
19 'PORT': '',
napoleonu
2012-09-21 17:52:47 +08:00
走TCP连接MySQL,即使是本地的MySQL。即:HOST用IP。
touch
2012-09-21 18:03:20 +08:00
@napoleonu

改ip还是2002错误
4 'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycop g2', 'mysql', 'sqlite3' or 'oracle'.
15 'NAME': 'mysql', # Or path to database fi le if using sqlite3.
16 'USER': 'root', # Not used with sqlite3.
17 'PASSWORD': '123456', # Not used with sqlite3 .
18 'HOST': '127.0.0.1', # Set to empty strin g for localhost. Not used with sqlite3.
19 'PORT': '3306', # Set to empty string for default. Not used with s

直接运用mysql又没问题
touch
2012-09-21 18:10:55 +08:00
看了下my.cnf中的配置sock
是 socket = /var/run/mysqld/mysqld.sock


和报错的地址不一样
cloudzhou
2012-09-21 20:02:03 +08:00
@touch 现在的2002错误是否和之前一样?如果配置了正确的sock地址之后呢?
skydiver
2012-09-21 20:04:00 +08:00
注释里面写着呢, Set to empty string for localhost

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/48404

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX