2012-02-08 4 views
2

mysql을 설치했고 파이썬 쉘 import MySQLdb에 설치했습니다. 나는 또한 settings.py를 다음과 같이 변경했습니다 :django를 통해 mysql에 연결할 수 없습니다

**DATABASE_ENGINE = 'mysql' 
DATABASE_NAME = '/home/database/my_db.db' 
DATABASE_USER = '' 
DATABASE_PASSWORD = '' 
DATABASE_HOST = ''  
DATABASE_PORT = ''**    

그러나 연결 테스트를하면 실패합니다.

터미널 :

OperationalError: (2002, "Can't connect to local MySQL server through socket '/var/run/mysql' (2)")

+0

xampp을 사용하고 있습니까??이 경우 사용자 이름 루트를 추가하십시오. 데이터베이스 이름이 잘못되었습니다. django를 로컬로 사용한다면 호스트는 localhost 여야합니다. 그리고'DATABASE_ENGINE'은 'ENGINE'과 같이 보일 것입니다 : 'django.db.backends.mysql'. – starcorn

+0

@starcom : 사용자/패스 문제 일 경우 권한이 거부되며 "연결할 수 없습니다". mysql이 실행 중이 아니거나 파이썬이 잘못된 페이지에서 소켓을 찾고있다. 오류 덤프에있는'/ var/run/mysql'의 공간이 원인 일 수 있습니다. 아마도'/ var/run/mysql'이어야합니다. –

+0

@MarcB : 아는 그것을 알아 채지 못했습니다. – starcorn

답변

1

장고는 엔진이 https://docs.djangoproject.com/en/dev/ref/settings/#engine 'django.db.backends.mysql'

나는 데이터베이스 이름이 MySQL을 내부 데이터베이스의 이름없는 경로라고 생각을해야한다 말한다. 경로는 sqlite를위한 것입니다. mysql 서버를 실행하고 있습니까?
USER, PASSWORD가 필요합니다. 호스트 기본값 기본값은 localhost port입니다.

+0

포트 기본값은 3306 또는 8000입니다. 그리고 mysql 서버를 실행하는 방법 ..... –

+0

예 mysql에 연결하여 만들었습니다. $ mysql -u root -p ## mysql을 연결하면 ## 으로 변경되고 settings.py는 다음과 같이 변경됩니다. : DATABASE_ENGINE = 'mysql을' DATABASE_NAME = 'my_db' DATABASE_USER = '루트' DATABASE_PASSWORD = '비밀번호' DATABASE_HOST = '' DATABASE_PORT = '' 다음 데이터베이스 my_db가로 MySQL에서 생성됩니다 MySQL은> CREATE DATABASE my_db.db –

1

당신이 MySQL 서버를 실행하고 있습니까 :

>>> from django.db import connection 
>>> cursor = connection.cursor() 

그것은 같은 오류를 준다? 그것은에 :

  • 로컬 호스트 (유닉스 도메인 소켓), 또는
  • 로컬 호스트 (TCP) 또는
  • 로컬 호스트 만 액세스 할 수없는, 또는
  • 다른 호스트?

또한 데이터베이스 이름은 파일 경로가 아니라 mysql이 이해하므로 이름입니다.

+0

for django 로컬 서버가 필요 없습니다. 다음과 같이 로컬 호스트를 만듭니다. sudo python manage.py runserver 기본 포트. –

+0

@Sujit은 절대 틀립니다. MySQL을 실행해야합니다. –

+0

@ 대니얼과 내가 어떻게 xampp 또는 당신이 제안하는 사용하여 가정 할 수 있습니다. –

관련 문제