2010-11-20 5 views
2

Django 응용 프로그램을 개발하기 위해 가상 머신을 만들려고합니다. OS는 Ubuntu 10.10입니다. 나는 모든 것을 설치했다. 마지막 부분은 MySQLdb가 XAMPP와 함께 제공되는 MySQL 인스턴스와 함께 작동하도록하는 것입니다.기본적으로 MySQLdb를 통해 XAMPP에 액세스합니다. Ubuntu의 Python lib 10.10

MySQLdb를 XAMPP MySQL과 함께 작동하도록 기본 설정하려면 어떻게합니까?

내가이 발견 : 나는이 문제를 이해 Accessing a XAMPP mysql via Python

,하지만 장고는 뒤에서 연결을 만들 처리하기 때문에이 솔루션은 나를 위해 작동하지 않습니다. 나는 또한 일부 응용 프로그램에 대해 장고를 조작하고 싶지 않습니다.

두 가지 방법으로 My.cnf를 수정하려고 시도했지만 작동하지 않습니다. 여전히 같은 오류가 발생합니다. 그 오류가 여기에 나열됩니다 : 나는 이것에 대한 간단한, 올바른 솔루션을 찾고 있어요 /opt/lampp/

:

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는 자체를 설치했습니다. 공유 할 수있는 배경 정보도 도움이 될 것입니다.

+0

mysql 데몬을 시작 했습니까? – thejh

+0

예 .... 작동 중입니다. 나는 XAMPP와 MySQL이 실행되고 있다고 확신한다. –

답변

3

sudo apt-get install mysql-server을 통해 MySQL을 설치하지 않는 이유를 모르겠지만 질문에 대한 대답은 Django가 기본값 대신 지정된 소켓을 사용하도록 구성하는 것입니다. settings.DATABASES에 문서에서

, HOST에서이 값은 슬래시로 시작 ('/') 및 MySQL을 사용하는 경우

, MySQL은 지정된 소켓에 유닉스 소켓을 통해 연결됩니다 .

따라서 데이터베이스의 호스트 설정을 "/opt/lampp/var/mysql/mysql.sock"으로 설정하면 관련 MySQL 소켓을 찾아야합니다.

관련 문제