개발학습일지

[Restful API] Python에서 MySQL 커넥션 하는 방법 본문

Restful API

[Restful API] Python에서 MySQL 커넥션 하는 방법

처카푸 2024. 5. 21. 15:21

Python에서 MySQL 커넥션 하는 방법

 

1. 사용할 전용 DB 유저를 생성한다.

https://msdev-st.tistory.com/128

 

[MySQL] 지정된 DB에만 전용으로 접속할 수 있는 계정 만들기

지정된 DB에만 전용으로 접속할 수 있는 계정 만들기 MySQL에서 기존 메인 DB에서 새로운 아이디와 비밀번호를 설정해서 만든다.-- 관리자로 들어간다는 뜻use mysql;-- 레시피 디비 유저라는 ID

msdev-st.tistory.com

 

2. 파이썬 MySQL Connector 라이브러리 설치한다.

https://msdev-st.tistory.com/130

 

[Restfull API] 파이썬 MySQL Connector 라이브러리 설치 방법

Restfull API를 하기 위한 파이썬 MySQL Connector 라이브러리 설치 방법  MySQL Connector 라이브러리 설치 이유: 파이썬 MySQL Connector는 MySQL과 서버를 연결하기 위해서 만들어진 라이브러리이기 때문에 설

msdev-st.tistory.com

 

3. MySQL 연결

- 만들어둔 mysql DB의 정보는 mysql_connection.py 에 담는다. 

- import mysql.connector

- get_connection() 함수 생성

# 코드 위치 mysql_connection.py
import mysql.connector

from config import Config

# mysql db 에 접속하는 함수
def get_connection() :

    connection = mysql.connector.connect(
        host = Config.HOST,
        database = Config.DATABASE,
        user = Config.DB_USER,
        password = Config.DB_PASSWORD
    )
    return connection

- 여기서 Config는 mysql DB의 정보들이 보안이 필요한 정보이기 때문에

  따로 파일을 만들어서 변수로 저장해 주었다.

  그래서 Config라는 클래스 만들어, connection에 이용해 주었다.

# 코드 위치 config.py
# 안전하게 처리하기 위한 코드
class Config :

    HOST = '  '
    DATABASE = '  '
    DB_USER = '  '
    DB_PASSWORD = '  '

 

4. Entry point를 작성해 준다

- 예시

# 코드 위치 app.py
api.add_resource( RecipeListResource , '/경로' )

 

5. connection 실행하기

- DB에 연결

- 내가 3번에서 만든 get_connection() 함수 사용해서 실행한다.

# 코드 위치 resources/recipe.py
class RecipeListResource(Resource):
	def post(self) :
        try :
            ### DB에 연결
            connection = get_connection()
            
            ### 다 사용하고 닫기
            connection.close()
         except :
         	pass
       	
         return