영넌 개발로그

[AWS] RDS에 연결된 MySQL 과 Python 연동하기, MySQL 영상 저장하기 본문

코딩/python

[AWS] RDS에 연결된 MySQL 과 Python 연동하기, MySQL 영상 저장하기

영넌 2020. 11. 7. 21:22

일단 기본 import 는 아래와 같이 해줍니다.

pymysql은 기본 모듈이 아니므로 

명령 프롬프트 창에 " pip install pymysql " 을 통해 설치해줍니다.

 

 

다음 선언은 해줘도 되고 pymysql.connect에 적어줘도 상관없습니다.

저는 깔끔하게 보이기 위해서 위에 변수로 선언해주었습니다.

 

 

RDS 생성시 입력한 이름이 기억이 나지 않는다면 구성 탭에서 확인할 수 있습니다. 

DB이름 또한 동일한 곳에서 확인이 가능합니다.

 

username에 마스터 사용자 이름을 적어주시고

database에 DB이름을 적어주시면 됩니다.

password는 Mysql의 비밀번호 입니다.

AWS에서 포트 설정을 바꾸지 않았다면 3306 고정입니다.

 

 

 

 

아래 함수처럼 만들어 줍니다.

여러 DB에 연결할 게 아니라면 사실.. pymysql.connet( ) 함수에 이전에 써뒀던 변수를 넣으면 됩니다.

주고 받을 때 한글이 깨지지 않기 위해 utf8을 설정해줍니다.

 

cursor를 통해 sql문을 주고 받습니다.

 

    conn = pymysql.connect(host,user=username,passwd = password,db=database,
                          port=port,use_unicode=True,charset ='utf8')
        
    cursor = conn.cursor()

 

RDS를 연결한 후,

 

쿼리를 작성하여 cursor를 통해 execute 합니다.

이후 db를 commit 해주면 적용 완료

 

 

    conn, cursor = connect_RDS(host,port,username,password,database)


    cursor.execute(query)
    cursor.execute(video_query)

    conn.commit()

 

MySQL에 비디오를 저장하기 위해서는 LONGBLOB형으로 테이블을 만들어주고

LOAD_FILE( ) 함수를 통해서 저장이 가능합니다.

비디오 전체 경로를 적어주면 됩니다.

 

비디오를 서버에 저장 후, 서버의 주소를 넘겨주는 것이 일반적인데

간단한 프로젝트 내에서 크기가 작은 영상을 이용할 예정이라

번거롭지 않은 방법을 택했습니다.

 

Comments