Flask

Python 에서 Mysql 연동하기

yugyeong 2023. 1. 4. 12:04

Python 에서 Mysql 연동하기

 

파이썬에서 mysql 과 연동을 할 때는 , MySQL 접속을 위한 유저를 따로 하나 생성을 한다.

( 어드민 계정은 사용하지 않고, 특정 DB만 접속할 수 있는 계정을 하나 생성하여야 한다.)

 

 

Mysql 에 아래와같이 코드를 작성하여서, 특정 데이터베이스에만 접속할 수 있는 유저를 생성을 해주어야한다.

아래에서 작성한 비밀번호는 노출이 되면 해킹 당할 위험이 있기 때문에 조심하여야 한다.

user mysql;

# my_test 데이터베이스에만 접속할 수 있는 유저 생성
create user 'lambda_user'@%' identified by 'DB에 접속할 비밀번호 작성';

# my_test 디비를 관리할 권한을 설정한다.
grant all on my_test.* to 'lambda_user'@'%';

 

 

Visual Studio Code 로 와서, 

cmd 에 아래 명령어를 작성하여 MySQL connector 라이브러리를 설치해준다.

$ pip install mysql-connector-python

 

설치가 완료되면, mysql.connector 라이브러리를 임포트 해주면 된다.

import mysql.connector

 

 

 

새로운 파일 config.py 를 생성하여서, 

아래처럼 코드를 작성하였다.

 

보안을 위해서 노출이 되면 안되는 데이터들은 config 파일에 변수로 저장을 하여서 가져왔다.

from config import Config

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

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

    return connection

 

메인 app.py 파일로 돌아와서,

환경변수를 셋팅해주면 된다.

 

# 환경변수 셋팅
app.config.from_object(Config)