[python] PyMySQL을 이용하여 데이터베이스의 레코드를 백업하고 복원하는 방법을 알아본다.

이번에는 Python에서 MySQL 데이터베이스의 레코드를 백업하고 복원하는 방법을 알아보겠습니다. 이를 위해 PyMySQL 라이브러리를 사용할 것입니다.

1. PyMySQL 설치

먼저 PyMySQL 라이브러리를 설치해야 합니다. 다음 명령어를 사용하여 설치할 수 있습니다.

pip install PyMySQL

2. 백업하기

먼저 데이터베이스의 레코드를 백업하는 방법부터 알아보겠습니다. 다음은 백업하는 코드의 예입니다.

import pymysql
import datetime

# MySQL 접속 정보 설정
host = "localhost"
user = "username"
password = "password"
database = "dbname"

# 백업 파일 이름 생성
backup_file = f"backup_{datetime.datetime.now().strftime('%Y%m%d_%H%M%S')}.sql"

# 백업 명령어 실행
cmd = f"mysqldump --host={host} --user={user} --password={password} {database} > {backup_file}"
result = os.system(cmd)

if result == 0:
    print("백업이 완료되었습니다.")
else:
    print("백업에 실패하였습니다.")

위 코드에서는 PyMySQL 라이브러리를 import하고, 백업 파일 이름을 현재 날짜와 시간으로 생성합니다. 그리고 백업 명령어를 실행하여 데이터베이스 레코드를 백업 파일로 저장합니다.

3. 복원하기

이제는 백업한 데이터를 복원하는 방법을 알아보겠습니다. 다음은 복원하는 코드의 예입니다.

import pymysql

# MySQL 접속 정보 설정
host = "localhost"
user = "username"
password = "password"
database = "dbname"

# 백업 파일 경로 설정
backup_file = "backup_file.sql"

# 데이터베이스 연결
conn = pymysql.connect(host=host, user=user, password=password)
cur = conn.cursor()

# 데이터베이스 선택
cur.execute(f"USE {database}")

# 백업 파일 실행
cur.execute(f"SOURCE {backup_file}")

# 변경 사항 저장
conn.commit()

cur.close()
conn.close()

print("복원이 완료되었습니다.")

위 코드에서는 PyMySQL 라이브러리를 import하고 데이터베이스에 연결합니다. 그 후 백업 파일 경로를 설정하고 데이터베이스를 선택한 뒤, 백업 파일을 실행하여 데이터를 복원합니다. 마지막으로 변경 사항을 저장하고 연결을 종료합니다.

이제 PyMySQL을 사용하여 데이터베이스의 레코드를 백업하고 복원하는 방법을 알아보았습니다. 이를 통해 데이터 손실 없이 안전하게 데이터를 관리할 수 있습니다.