반응형

Mysql  dump

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
# 테이블 구조만 백업

Restore

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;

Python

Code

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()
반응형

+ Recent posts