我正在尝试构建一个虚拟机来开发Django应用程序。操作系统是Ubuntu10.10。我几乎所有东西都安装好了。最后一部分是让MySQLdb使用XAMPP附带的MySQL实例。
如何使MySQLdb默认使用XAMPP MySQL?
我发现了这个:Accessing a XAMPP mysql via Python
我理解那里的问题,但是这个解决方案对我不起作用,因为Django负责在幕后创建连接。我也不想为某个应用程序操纵Django。
我尝试用两种不同的方式修改My.cnf,但它不起作用。我还是会犯同样的错误。下面列出了该错误:
Traceback (most recent call last):
File "test-mysqldb.py", line 4, in <module>
db = MySQLdb.connect( user="root", passwd="", db="faceless001" )
File "/usr/lib/pymodules/python2.6/MySQLdb/__init__.py", line 81, in Connect
return Connection(*args, **kwargs)
File "/usr/lib/pymodules/python2.6/MySQLdb/connections.py", line 170, in __init__
super(Connection, self).__init__(*args, **kwargs2)
_mysql_exceptions.OperationalError: (2002, "Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)")XAMPP安装到:/opt/lampp/
我在寻找最简单、最正确的解决方案。任何背景信息,你可以分享,也是有帮助的。
发布于 2010-11-20 20:56:14
我不明白为什么不只是通过MySQL安装sudo apt-get install mysql-server,但是问题的答案似乎是将Django配置为使用指定的套接字代替默认的套接字。
从文档到settings.DATABASES,在HOST下
如果该值以正斜杠('/')开头,并且使用MySQL,则MySQL将通过Unix套接字连接到指定的套接字。
因此,如果您只是将数据库的主机设置设置为"/opt/lampp/var/mysql/mysql.sock",它应该会找到相关的MySQL套接字。
https://stackoverflow.com/questions/4234316
复制相似问题