默认情况下通过 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 处崩溃

ubuntu 10.10无法打开网页

ubuntu10.10下QT开发环境搭建

为啥vbox下host-only无法设置

ubuntu 10.10桌面版Live cd的语言是部分汉化还是完整的中文语言包?

ubuntu 10.10如何安装mysql服务器,有详细的操作步骤