[Restful API] Python에서 MySQL 커넥션 하는 방법
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