[Django] Django 애플리케이션을 MySQL 서버에 연결
보다:
예, 적어도 세 개는 내용이 다른 거의 동일한 주제를 설명합니다.
그럼에도 불구하고 결국 그 링크에서 주어진 설명에 따라 만들었습니다. 그렇다면 동일한 방법이 MySQL 서버에 접속을 시도하는 루트 사용자가 아닌 특정 사용자에게만 통할 수 있을까 하는 생각이 들었습니다.
다음은 임의로 구성된 사용자에 대해서도 작동함을 보여줍니다. 공식 Django 사이트와 MySQL dev 사이트의 지시를 엄격히 따랐습니다.
1) 우선, 이미 Django 프로젝트가 있고 컴퓨터에 MySQL 서버가 설치되어 있다고 가정합니다.
2) MySQL 프롬프트에서 다음 명령을 차례로 입력합니다. 물론 , , , , , 는 내가 선택한 것이고 당신은 당신의 것을 자유롭게 선택할 수 있습니다.
CREATE DATABASE test;
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
GRANT INDEX, ALTER, REFERENCES, SELECT, INSERT, UPDATE, DELETE ON test.* TO 'username'@'localhost';
예. Django가 MySQL 서버에 연결하기 전에도 처음부터 자신의 DB(테스트)와 사용자(사용자 이름)가 있어야 합니다. 그런 다음 사용자에게 자신의 역할에 대한 여러 권한이 부여됩니다.
(수정됨) 테스트를 위해 Django는 순수 테스트용 데이터베이스를 자동으로 생성합니다. 이를 위해 사용자에게 테스트용 데이터베이스를 생성하고 삭제할 수 있는 추가 권한을 부여합니다.
GRANT CREATE, DROP, INDEX, ALTER, REFERENCES, SELECT, INSERT, UPDATE, DELETE ON test_test.* TO 'username'@'localhost';
CREATE
및 DROP
의 두 가지 추가 권한이 있음을 알 수 있습니다. DROP
는 테스트가 종료되어 데이터베이스가 더 이상 필요하지 않은 경우를 위한 것입니다. test_<your_database_name>
는 Django가 테스트용 임시 데이터베이스의 기본 이름을 지정하는 것입니다. 하지만 settings.py
에서 사용자 지정 이름을 설정할 수 있습니다.3) 이제 Django 프로젝트로 이동합니다. 프로젝트 설정이 지정된 settings.py에서
DATABASE
사전을 찾아 아래와 같이 변경합니다.# config/settings.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'test',
'USER': 'username',
'PASSWORD': 'password',
'HOST': 'localhost'
'PORT': '3306
}
}
4)마지막으로 Django 프로젝트와 MySQL 서버를 바인딩하는
mysqlclient
를 설치한다.설치: link
5) 이제 연결이 잘 되는지 테스트합니다.
루트 디렉토리에 명령을 입력하십시오.
터미널에서 MySQL 서버로의 데이터 마이그레이션이 잘 구현되었는지 확인합니다.
python3 manage.py migrate
제대로 작동하는 것 같습니다!
명령 참조:
Reference
이 문제에 관하여([Django] Django 애플리케이션을 MySQL 서버에 연결), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/uponthesky/django-connect-django-application-to-a-mysql-server-1ihk텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)