我是新手,所以可能使用了错误的术语,但是当我运行以下脚本时:
import MySQLdb
conn = MySQLdb.connect (host = 'localhost',
user = 'erin',
passwd = 'erin',
db = 'sec')
我知道错误:
File "/Library/Python/2.6/site-packages/MySQL_python-1.2.3-py2.6-macosx-10.6-universal.egg/MySQLdb/__init__.py", line 81, in Connect
return Connection(*args, **kwargs)
File "/Library/Python/2.6/site-packages/MySQL_python-1.2.3-py2.6-macosx-10.6-universal.egg/MySQLdb/connections.py", line 187, in __init__
super(Connection, self).__init__(*args, **kwargs2)
_mysql_exceptions.OperationalError: (2002, "Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)")
该目录中没有名为mysql.sock的文件,但我不知道套接字是什么,也不知道如何使用MySQLdb模块为其指定正确的位置。
如果mysql套接字没有放在/tmp/mysql.sock中,可以使用
编辑:对于macosx上的mamp,mysql套接字路径应该类似于
/Applications/MAMP/tmp/mysql/mysql.sock
您的mysql安装可能会将套接字放在其他地方。您可以在mysql conf文件中对此进行配置。
你可能想看看这个类似的帖子:Installing mysql on leopard: "Can't connect to local MySQL server through socket"
我通过将主机设置为“127.0.0.1”而不是“localhost”来解决这个问题。
相关问题 更多 >
编程相关推荐