2014-01-26 3 views
1

나는 Ubuntu Os와 Xampp 관련 물건에 초보자이지만 Python과 django.I에 대한 지식이 있습니다. 최근에 wamp를 사용하여 mysql을 실행하는 곳에서 이동했습니다. 내 우분투 데스크탑에 Xampp을 설치했습니다. 별도로 설치하는 대신 Mysql.The 문제는 내가 localhost에서 실행중인 MySQL 서버에 연결하는 파이썬을 만들 수 없다는 것입니다. python 2.7.4에 MYSQLdb 커넥터 모듈이 설치되어 있습니다. XAMPP 잘 시작하고 난으로 terminal.So, 다음 코드를 실행하는 동안 manage.py 유틸리티는 데이터베이스 클라이언트 쉘을 보여줍니다 장고에 mysql -u root을 입력하여 SQL을 실행할 수 있습니다MySQL 서버에 연결하는 데 문제가 있습니다

[email protected]:~/Desktop/testproject$ python manage.py dbshell 
Welcome to the MySQL monitor. 

mysql> 

을하지만 난 할 때 :

>>> import MySQLdb as m 
>>> a=m.connect(user="root",passwd="",db="test_project") 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/usr/lib/python2.7/dist-packages/MySQLdb/__init__.py", line 81, in Connect 
    return Connection(*args, **kwargs) 
    File "/usr/lib/python2.7/dist-packages/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 '/var/run/mysqld/mysqld.sock' (2)") 

나는 어떤 디렉토리 은/var// mysqld를 실행을 찾을 수 없습니다. /opt/lampp/bin/mysql에 mysql을 가지고 있습니다. 다른 관련 질문은 여기에 stackoverflow 있지만 도움이 언급 된 다른 솔루션을 시도했다. 내가 어딘가 틀렸다면 나를 바로 잡아라. 감사합니다.

+0

http://stackoverflow.com/questions/11990708/error-cant-connect-to -local-mysql-server-through-socket-var-run-mysqld-mysq –

+0

https://www.google.co.in/search?q=Can%27t+connect+to+local+MSQL+server+through + 소켓 + % 27/var/run/mysqld/mysqld.sock % 27 & ie = utf-8 & oe = utf-8 & rls = org.mozilla : en-US : 공식 & 클라이언트 = firefox-beta & channel = sb & gws_rd = cr & ei = XL 7kUs2XI4uFrgeKo4GgDQ –

답변

0

host, port 인수가 누락되었을 수 있습니다.

MySQLdb.connect의 인수는 DATABASES과 일치해야합니다. settings.py입니다. 다음 예를 들어 가정

settings.py이다 :

DATABASES = { 
    'default': { 
     'ENGINE': 'django.db.backends.mysql', 
     'NAME': 'test_project', 
     'USER': 'root', 
     'PASSWORD': 'secret', 
     'HOST': '192.168.0.1', 
     'PORT': 1234, 
    } 
} 

connect(..)뿐만 읽어야

import MySQLdb 
connection = MySQLdb.connect(user='root', passwd='secret', db='test_project', 
          host='192.168.0.1', port=1234) 
+0

connect 함수가 두 개의 키워드 인자 인 host와 port를 취하는 것을 알고 있지만 실제 문제는 윈도우에서 작동하지만 여기서는 작동하지 않는 localhost를 호스트에 설정했기 때문입니다. 왜 그런지 모르겠습니다. '127.0.0.1', 잘 작동하고 있습니다. 그러나 다시 한 번 지적 해 주셔서 감사합니다. – darxtrix

관련 문제