默认情况下通过 Ubuntu 10.10 上的 MySQLdb Python 库访问 XAMPP
Posted
技术标签:
【中文标题】默认情况下通过 Ubuntu 10.10 上的 MySQLdb Python 库访问 XAMPP【英文标题】:Access XAMPP by default via MySQLdb Python lib on Ubuntu 10.10 【发布时间】:2011-05-13 04:03:39 【问题描述】:我正在尝试构建一个虚拟机来开发一个 Django 应用程序。操作系统是 Ubuntu 10.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/
我正在为此寻找最简单、正确的解决方案。您可以分享的任何背景信息也会有所帮助。
【问题讨论】:
你启动了 mysql 守护进程了吗? 是的....它正在工作。我确信 XAMPP 和 MySQL 正在运行。 【参考方案1】:我不明白您为什么不只是通过sudo apt-get install mysql-server
安装 MySQL,但您的问题的答案似乎是配置 Django 以使用指定的套接字代替默认套接字。
从文档到settings.DATABASES
,在HOST
下:
如果此值以正斜杠 ('/') 开头并且您使用的是 MySQL,则 MySQL 将通过 Unix 套接字连接到指定的套接字。
因此,如果您只是将数据库的 HOST 设置为 "/opt/lampp/var/mysql/mysql.sock"
,它应该会找到相关的 MySQL 套接字。
【讨论】:
以上是关于默认情况下通过 Ubuntu 10.10 上的 MySQLdb Python 库访问 XAMPP的主要内容,如果未能解决你的问题,请参考以下文章
Boost Http 服务器示例在 Ubuntu 10.10 上的 boost::thread 处崩溃