2013-04-14 3 views
4

Django를 포트 3307의 localhost MySQL에 연결하려고합니다. settings.py에서 포트 번호를 변경할 때 여전히 3306에서 포트 번호를 변경하는 것으로 나타났습니다. 그래서 나는 그것을 무의미한 가치로 바꾸려고 노력했다. 그리고 여전히 3306에 연결을 유지하고있다. 나는 Apache2에서 WSGI를 사용하고 있으며 서버를 다시 시작하려고 시도했다. 장고를 원하는 포트에 연결하기 위해해야 ​​할 일이 있습니까? 여기 내 settings.py은 다음과 같습니다Django가 잘못된 포트로 설정되어 있어도 MySQL에 연결

'default': { 
     'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'. 
     'NAME': 'mydb',    # Or path to database file if using sqlite3. 
     'TEST_NAME': 'test_mydb', 
     # The following settings are not used with sqlite3: 
     'USER': 'mydb', 
     'PASSWORD': 'mydb', 
     'HOST': '',      # Empty for localhost through domain sockets or '127.0.0.1' for localhost through TCP. 
     'PORT': '33074',      # Set to empty string for default. 
    } 

답변

7

포트 3306을 통해 연결하지 않았습니다. 당신은 로컬 소켓을 통해 연결하고 있습니다.

MySQL의 기본 동작은 "호스트"를 비워두면 로컬 소켓 (매우 빠르게 통신하는 UNIX 시스템)을 통해 연결하는 것입니다. 명시 적으로 네트워킹 스택을 사용하여 localhost에 연결하려면 "127.0.0.1"을 호스트로 지정해야합니다. 이렇게하면 구성에서 선택한 포트가 관련성을 갖게됩니다.

+0

아아! 말이된다! 고마워요! 나는 이것을 몇 분 안에 받아 들일 것이다. 내가 아직 받아들이지 못하게 해. – pkout

1

당신의 대답은 HOST에 대한 코멘트에 : 당신이 HOST에 대한 127.0.0.1을 지정하면

Empty for localhost through domain sockets or '127.0.0.1' for localhost through TCP. 

포트 번호 만 사용합니다 - 그렇지 않으면 소켓을 사용합니다.

관련 문제