Mysql 데이터를 백업/복구하는 명령(파이썬 코드 포함) | Mysql Data Backup | JMON

JMON·2021년 1월 15일
1

Mysql

목록 보기
1/2
post-thumbnail

📄 설명

📣 기본

Mysql 데이터를 백업하고 복구 할 수 있는 명령어

📄 사용방법

📣 기본 명령어

✍ 백업

mysqldump -u{계정} -p{패스워드} {데이터베이스명} > {파일명}.sql
# 특정 데이터베이스 백업

mysql -u{계정} -p{패스워드} --all-databases > {파일명}.sql
# 전체 데이터베이스 백업

mysqldump -u{계정} -p{패스워드} --default-character-set=utf8 {데이터베이스} > {파일명}.sql
# 캐릭터셋 설정하여 백업

mysqldump -u{계정} -p{패스워드} -B {데이터베이스명} --tables {테이블1} {테이블2} ... > {파일명}.sql
# 특정 테이블 백업

mysqldump -u{계정} -p{패스워드} --no-data {데이터베이스명} > {파일명}.sql
# 테이블 구조만 백업

✍ 복원

mysql -u{계정} -p{패스워드} {데이터베이스명} < {파일명}.sql
# 특정 데이터베이스만 복원

mysql -u{계정} -p{패스워드} < {파일명}.sql
# 전체 데이터베이스 복원

📣 참고

✍ 모든 테이블 삭제

# 이건 꼭!!! 확인 후 실행해주세요
# DB이름 입력란에만 작성

SET @tables = NULL;
SELECT GROUP_CONCAT(table_schema, '.', table_name) INTO @tables
  FROM information_schema.tables
  WHERE table_schema = 'DB이름 입력'; -- specify DB name here.

SET @tables = CONCAT('DROP TABLE ', @tables);
PREPARE stmt FROM @tables;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

📣 파이썬 스크립트

✍ 코드

import os, datetime
userid = ""
passwd = ""
database = ""
enc = "utf8"
def dumpdb():
    today = datetime.date.today().strftime("%Y%m%d")
    command = []
    command.append("mysqldump")
    command.append("-u%s" % userid)
    command.append("-p%s" % passwd)
    command.append("--default-character-set=%s" % enc)
    command.append("--extended-insert=FALSE")
    command.append("%s > ./%s_%s.sql" % (database, database, today))
    command = " ".join(command)
    os.system(command)
if __name__=="__main__":
    dumpdb()

📄 참고자료

🎈 Document : https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html

profile
Fullstack Developer

0개의 댓글