RESTful flask API - DB 연동하기

반응형

API서버 DB연동하기

  • DB : MySQL
  • Programming language : Python
  • IDE : Visual Studio Code

MySQL

  • DB 생성 (recipe)

 

  • Table 생성 (recipe, user)

< recipe >
< user >


DB를 관리 할 수 있는 권한 설정하기 (MySQL)

  • SQL 쿼리
use mysql;

-- recipe DB에 접속 할 수 있는 id 생성
create user 'recipe_user1234'@'%' identified by 'recipe1234';

-- recipe_user DB를 관리 권한 설정
grant all on recipe.* to 'recipe_user1234'@'%';

 

  • 관리자 리스트 확인하기
-- 관리자 확인 % : 외부 접속 허용 / localhost : 로컬에서만 허용
select host, user from user;

-- 관리자 삭제
delete from user where user='계정명';

Visual Studio Code

  • 라이브러리 설치
pip install mysql-connector-python

DB 접속 설정

mysql_connection.py

  • 자주 사용 할 예정이므로 파일화하여 코드의 중복 최소화
    • DB 연동이 필요할 때 임포트, 코드의 중복을 줄일 수 있음
    • 파일 호출시 실행되는 파일과 같은 디렉토리에 위치해야 실행 가능
from mysql_connection import get_connection

 

  • mysql.connector 라이브러리 호출
import mysql.connector

 

  • DB 연동 함수 정의
    • host : localhost or hostURL
    • database : DB 이름
    • user : 관리 권한을 가진 id
    • password : user에 입력한 id의 비밀번호
# mysql_connection.py
import mysql.connector
def get_connection() :
    connection = mysql.connector.connect(
        host='hostname', # 호스트는 사용자의 호스트 입력
        database='recipe', # 예시에 쓸 DB recipe
        user='recipe_user1234', # 관리 권한을 가진 'recipe_user1234'로 접속
        password='recipe1234' )
    return connection
반응형