-
Django) 맥 장고 MySQL 연결하기 / mysqlclient 설치 오류 해결Django 2019. 7. 4. 17:23
MySQL을 설치하는 방법은 아래의 포스팅을 참고하면 된다.
https://gaebyeokja.tistory.com/6
Mysql) 맥에 Mysql 설치하기 및 Workbench 설치하기
맥에 Mysql을 설치하는 방법은 여러 가지 방법이 있다. 터미널을 이용하여 설치를 할 수 있고, 홈페이지에 접속하여 설치 파일을 받아 설치할 수 있다. 터미널 사용법을 익히면 좋긴 하겠지만, 본인은 GUI를 지원..
gaebyeokja.tistory.com
Django는 Database를 기본적으로 SQLite3을 사용한다.
따라서 우리가 익숙한 MySQL로 바꾸어 주려면, 드라이버를 추가로 설치를 해야 한다.
먼저 가상 환경 실행 후 디렉터리를 프로젝트로 이동해준다. 잘 모르겠다면, 아래의 명령어를 참고하자.
cd 디렉터리이름 source 가상환경이름/bin/activate cd 가상환경이름/프로젝트이름
터미널을 켜고 아래의 명령어를 입력해주자.
pip install mysqlclient
mysqlclient를 설치하는 중에는 많은 오류를 발생한다고 한다.
필자 같은 경우도 오류가 발생하여 다른 방법으로 해결을 해주었다.
해결방법에는 HomeBrew 설치가 필요하니 아래의 링크에서 설치방법을 참고하면 되겠다.
먼저 터미널을 껐다 켜자.
https://whitepaek.tistory.com/3
Homebrew(홈브류) 설치 및 사용법, MacOS에서 프로그램을 쉽게 다운로드 및 삭제할 수 있는 패키지 관리자
Homebrew 설치 및 사용법 macOS를 새롭게 구입 또는 클린 설치를 하고 나서 가장 먼저 설치하는 MacOS 용 패키지 관리자입니다! 많은 맥 유저분들이 아직 Homebrew를 터미널에서 사용하는 방식이 익숙하지 않아서..
whitepaek.tistory.com
설치를 완료했다면, 먼저 아래의 명령어를 입력해주자.
brew install mysql
그다음 아래의 명령어로 OpenSSL을 설치해 준다.
brew install openssl
설치가 완료된 후, 아래의 명령어로 mysqlclient를 설치해 준다.
LDFLAGS=-L/usr/local/opt/openssl/lib pip install mysqlclient
아까와는 다르게 설치가 제대로 완료되는 것을 볼 수 있을 것이다.
명심할 점은, 프로젝트 디렉터리로 이동 후 설치를 해야 한다는 점이다.
이제 다음 단계이다.가상 환경 속, 프로젝트 폴더로 들어가 보면 프로젝트 이름과 같은 폴더가 하나 있을 것이다.
그 폴더로 들어가면 setting.py 파일을 찾을 수 있다. PyCharm을 사용해도 좋고, 메모장이나 xcode를 사용해도 좋다. 파일을 열어주자.
그리고 DATABASE 부분을 찾아 아래의 코드처럼 바꿔주자.
스키마 이름에 본인이 원하는 데이터베이스 스키마 이름을 적어주면 되고, 계정에 계정 ID, 계정 비밀번호에 계정의 비밀번호를 적어두면 된다. 만약 MySQL 설치 시 포트번호를 다르게 설정해 주었다면, PORT 항목을 변경해 주면 된다.
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': '스키마 이름', 'USER': '계정', 'PASSWORD': '계정 비밀번호', 'HOST': 'localhost', 'PORT': '3306', 'OPTIONS': { 'init_command': 'SET sql_mode="STRICT_TRANS_TABLES"' } } }
이런 식으로 개발을 진행하게 되면, 버전 관리를 통해 해당 DataBase 스키마 이름과 계정 정보가 유출이 될 수 있다. 이는 우습게 볼 문제가 아니다. 현재 버전 관리를 진행 중이라면, setting.py 파일은 버전 관리에서 제외를 시켜주도록 하자.
참고로 관리자 페이지의 언어를 한글로 하고 싶다면 setting.py속 아래의 코드를 찾아 똑같이 변경을 해주면 된다.
LANGUAGE_CODE = 'ko-kr'
이제 터미널을 켜서 가상 환경을 실행시켜 준 뒤, 프로젝트로 디렉터리를 이동하여 다음과 같은 명령어를 입력한다.
./manage.py migrate
데이터베이스를 사용할 준비가 끝났다. MySQL을 확인해 보면, 해당 스키마에 여러 가지 테이블이 생성이 된 것을 확인할 수 있다.
이제 Django서버의 admin페이지에 접근할 수 있는 SuperUser계정을 하나 만들어 주자.
./manage.py createsuperuser
명령어를 입력하면 세 가지의 설정이 필요하다.
첫 번째는 사용자 이름, 두 번째는 사용자 이메일, 세 번째는 사용자 비밀번호이다.
모두 입력을 완료하면 관리자 계정이 생성이 된다. 그러면 서버를 실행 시키고 https://localhost:8080/admin으로 접속을 했을 때, 아래와 같은 화면이 나타나게 된다. 포트번호는 본인이 설정한 번호여야 한다는 점 참고하자.
로그인을 하면 아래와 같은 화면이 나타난다. 추후에 사용자들의 계정을 관리하거나, 데이터베이스에 있는 내용에 쉽게 접근을 할 수 있다.
'Django' 카테고리의 다른 글
Django) User 아이디 찾기, 비밀번호 찾기(초기화) 페이지 만들기 (3) 2019.07.12 Django) 맥 Django 서버 다른 기기로 접속하기 (0) 2019.07.05 Django) 맥에 PyCharm을 설치하여 Django 프로젝트 연동하기 (0) 2019.07.04 Django) 맥 장고 웹 프로젝트 및 앱 생성하기 (0) 2019.07.03 Django) 맥에 장고 설치하기 (0) 2019.07.02