상세 컨텐츠

본문 제목

파이썬 DB 연결 및 env 설정 w/ MySQL

생활코딩

by sosorine 2024. 1. 19. 19:45

본문

728x90

파이썬 개발환경에서 MySQL DB와 연결하려면, 관련 패키지를 설치해야 한다.

 

패키지명은 아래 그림과 같이 PyMySQL이고, 설치대상 패키지는 두 가지이다. / 해당 패키지는 MIT License(무료) 이다.

프로젝트 검색 / PyMySQL
패키지 설치 명령어

나는 파이썬 개발 툴로 PyCharm Community Edition을 활용하였다. / Ver : 2023.1.

 

 ** 프로젝트 생성방법, 코딩설명 등은 본 주제에 벗어나므로 본 소개글에서 다루지 않겠다.

 

PyCharm 툴에서 터미널을 열고, Git Bash를 클릭하자. 그리고 패키지 설치 명령어 입력. / 아래 그림상 빨강 네모 표시

터미널 클릭 + Git Bash 클릭
패키지 설치 명령어 입력

그런데? 반응이 없다. 이유가 뭘까?..... Git Bash가 아닌 Command Prompt를 써보자. / 아래 그림상 빨강 네모 표시

터미널 클릭 + Command Prompt 클릭
패키지 설치 명령어 입력

Git Bash와 다르게 설치가 된다. 이유는 모르겠다. 하지만 문턱은 넘었다.

 

패키지 설치 명령어를 연이어 입력하자. 

패키지 설치 명령어 입력

파이썬 개발환경에 패키지 설치 후, 코딩에서도 "설치 패키지를 활용하겠다." 라는 의미로 "import pymysql"을 추가하자.

 

이전 게시글에서 생성한 MySQL 데이터베이스의 테이블 데이터를 조회해보자. / DB 연결 파라미터 등 관련 코딩 입력

 

DB 데이터를 잘 긁어온다. / 데이터를 잘 가져온다! 즉, 파이썬과 MySQL DB간 연결이 잘 되었다. 라고 볼 수 있다.

MySQL DB 데이터 조회

 

그런데, 위 내용과 같이 프로젝트 메인파일에서 DB 연결을 위한 host 등 파라미터를 환경변수 설정없이 노출시키면,

 

예를 들어, 웹 페이지 구현을 한다면, DevTool 기능을 통해 대중에 오픈하게 될 것이다. / DevTool : 개발자모드(F12)

 

DB 연결을 위한 파라미터를 공개하여 아무나 데이터를 생성하고 삭제할 수 있도록 하는 것이다. / 보안문제

 

이러한 보안문제를 해결하기 위해 DB 연결 파라미터를 env 환경변수를 하여 이면에 감출 수 있다.

 

env 환경변수를 설정하기 위한 관련 패키지를 설치하자. / 터미널에서 "pip install python-dotenv" 설치 명령어 입력

 

그리고 프로젝트에서 env 파일을 생성하자.

env 관련 패키지 설치 명령어 입력 + env 파일 생성
env 파일 생성

생성한 env 파일상 DB host 등 연결 파라미터를 입력하자.

DB 연결 파라미터 입력 / env 파일

 

DB host 등 연결 파라미터는 env 파일에 입력하여 대중에 공개되지 않도록 하였다.

 

메인파일에서 env 파일에 있는 DB 연결 파라미터를 가져와서 활용할 수 있도록 아래 그림과 같이 설정하자.

from dotenv import load_dotenv
load_dotenv()
connect = pymysql.connect(host=os.environ.get('DB_HOST'), user=os.environ.get('DB_USER'), password=os.environ.get('DB_PSWORD'), db=os.environ.get('DB_DATABASE'), charset='utf8mb4')
cur = connect.cursor()

env 설정 후, 메인파일 env 파라미터 가져오기

 

env 환경변수 설정 후에도, 메인파일에서 MySQL DB 데이터를 잘 긁어옴을 확인할 수 있다.

/ DB 연결 파라미터를 env 파일에 담아, 메인파일에서 env파일의 DB 연결 파라미터를 가져와 DB에 연결한다!로 정리한다.

 

끝!

728x90

관련글 더보기