본문 바로가기

Developer/DataBase

[MySQL] 백업 도구 - mysqldump

mysqldump?

적은 양의 데이터를 백업할 때 가장 간편하게 사용 가능

 

필요 권한

SELECT : 백업 대상 테이블의 데이터 조회

SHOW VIEW : 뷰 객체 백업 시 뷰 조회

TRIGGER : 트리거 객체 백업

LOCK TABLES : --single-transaction 옵션 사용하지 않고, 백업할 때 데이트 변경을 박기위한 테이블 단위 잠금

FILE : mysqldump의 결과 백업 파일 생성 및 디스크 저장

CREATE : 백업 파일 복구 권한

ALTER DATABASE : 프로시저, 트리거 백업 시 해당 캐릭터 인코딩 보존에 사용

 

전체 데이터 베이스 백업

mysqldump --all-databases [기타 옵션] -u[USER_NAME] -p[PASSWORD] > /data/table_all_backup.sql

--all-databases : 데이터베이스 전체 백업 옵션

 

특정 데이터베이스만 백업

mysqldump --databases testdb [기타옵션] -u[USER_NAME] -p [PASSWORD] > /data/testdb_backup.sql

--databases : 뒤에 명시된 백업 테이블 명만 백업.

                 두 데이터베이스를 백업하고 싶다면, --databases testdb1 testdb2 등의 형식으로 사용

 

특정 테이블만 백업

mysqldump --tables testdb table1 table2 [기타옵션] -u[USER_NAME] -p[PASSWORD] > /data/table1_table2_backup.sql

--tables : --databases 옵션의 하위 옵션

            testdb라는 데이터베이스의 table1, table2 백업

            테이블 백업시에는, 한번에 하나의 데이터베이스만 백업이 가능하다.

 

 

mysqldump 옵션 리스트

--user=[유저명]
-u[유저명]
MySQL 서버 계정 이름
--password[=패스워드]
-p[패스워드]
MySQL  서버 계정 암호
--host=[호스트이름]
-h[호스트이름]
백업 대상 MySQL 서버 호스트 이름
--port=[포트번호]
-P[포트번호]
접속할 TCP/IP 포트번호