본문 바로가기
  • 콩's 코딩노트
Python

Python을 MySQL 데이터베이스에 연동하기

by Cong_S 2022. 6. 17.

Python 으로 데이터베이스에 접근하기 위해 MySQL 데이터베이스와 연동하는 방법을 알아보자.

예시로는 음식 레시피를 저장하는 DB를 구성한다.

 

 

use mysql;

create user 'recipe_user'@'%' identified by ' ****** ';

grant all on recipe_db.* to 'recipe_user'@'%';

1. 제일 먼저 해당 특정 DB에만 접속할 수 있는 권한을 가지는 계정을 생성해야 한다.

******* 부분에는 비밀번호를 입력한다.

grant 명령어로 특정DB에만 접속할 수 있는 권한을 가진 계정을 생성한다.

 

 

 

pip install mysql-connector-python

2. 비주얼 스튜디오 코드의 파이썬 가상환경에서 
pip install mysql-connector-python  으로 connector 설치하기

 

 

3. 깃허브에 서버용 새 리포지토리 만들어 데스크톱으로 클론해오기

 

from flask import Flask



app = Flask(__name__)

if __name__ == '__main__':
    app.run()

4. 비주얼 스튜디오 코드의 파이썬 가상환경에서 Flask 라이브러리로 기본 구조 만들기

 

 

import mysql.connector

def get_connetion():
    connection = mysql.connector. connect(
        host = 'yh-db.ctttsro2er9u.ap-northeast-2.rds.amazonaws.com',
        database = 'recipe_db',
        user = 'recipe_user',
        password = 'leem0929'
    )
    return connection

5. DB에 접속할 수 있는 함수를 위한 파일을 따로 만든다.

새로운 파일로 mysql.connector를 이용한 접속 함수를 만드는데 
이 때 아이디와 비밀번호, 호스트 주소, 데이터 베이스 이름 입력

 

6. 이제 데이터베이스와 연동되는지 테스트할 차례

 

테스트 순서는 먼저 sql 워크벤치에서 해당 테이블에 insert into ~ values ~ 쿼리문으로 데이터를 넣어보고
코드가 정상적으로 작동되면 비주얼 스튜디오 코드의 파이썬 가상환경으로 가져와 쿼리문 부분에 입력한다.


새로운 테스트 파일을 만들어 바로 전에 만든 함수 적용. 

 

데이터베이스에 접속해 데이터 처리하는 코드는 아래 포스팅을 참고해보자.

 

 

7. python app.py 로 쿼리문을 실행했을 때 데이터가 정상적으로 insert 되는지 확인하기.

 

 

 

 

댓글