mysqldump 클라이언트 유틸리티는 논리 백업(logical backup)을 수행한다. 원본 데이터베이스와 테이블을 재생할 수 있는 실행 가능한 SQL 문 세트를 생성한다. 백업 혹은 다른 SQL 서버로 전송하기 위해서 주로 사용한다. mysqldump는 SQL 문 외에도 CSV, XML, 기타 구분자를 가진 텍스트 형태로 출력 할 수 있다.
--single-transaction : 덤프를 실행하기 전에 트랜잭션을 수행한다. 이렇게 하면 전체 데이터베이스를 잠그지 않고도 일관된 덤프를 받을 수 있다. InnooDB 엔진에서만 사용 할 수 있다.
--lock-tables, -l : 덤프를 하기 전에 모든 테이블을 잠근다. 데이터베이스 별로 테이블을 잠그기 때문에, 여러 데이터베이스를 덤프하는 경우 일관성을 보장하지 않는다.
--lock-all-tables, -x : 모든 데이터베이스의 테이블을 잠근다. 이 옵션을 사용하면 --single-transaction, --lock-tables 를 오프(off)시킨다.
--no-create-db, -n : databases 또는 all-databases 옵션을 사용 할 경우 덤프에 CREATE DATABASE 명령이 들어간다. 이 옵션을 이용해서 CREATE DATABASE 명령을 무력화 시킬 수 있다.
--no-data, -d : 테이블의 데이터를 저장하지 않는다. 데이터베이스 스키마를 추출하고자 할 때 유용하게 사용 할 수 있다.
--single-transaction : 데이터를 덤프하기 전에 BEGIN SQL 문을 시작한다. InnoDB와 같은 트랜잭션을 지원하는 테이블을 덤프하기에 좋다. 이 옵션을 이용하면 애플리케이션 블락(block)없이 데이터를 덤프 할 수 있다. 덤프전에 transaction isolation level을 REPEATABLE READ상태로 변경한다. 즉 1. 아직 COMMIT 되지 않은 신뢰 할 수 없는 데이터는 읽지 않으며, 2. 한 트랜잭션에서 동일한 SELECT 쿼리에 대해서 결과가 동일하며, 3. 이전의 SELECT 쿼리 결과에 없던 row 가 생기지 않는다.
--flush-logs, -F : dump를 하는 시점에 binary log를 rotation 한다.
Contents
1. mysqldump
2. 사용 방법
3. DB 접속 옵션들
4. 주요 옵션들
5. 예제
5.1. 특정 데이터베이스 백업
5.2. 모든 데이터베이스 백업
5.3. 스키마 백업
6. 참고
6.1. 논리백업과 물리백업
1. mysqldump
2. 사용 방법
3. DB 접속 옵션들
4. 주요 옵션들
5. 예제
5.1. 특정 데이터베이스 백업
5.2. 모든 데이터베이스 백업
5.3. 스키마 백업
6. 참고
6.1. 논리백업과 물리백업
Recent Posts
Archive Posts
Tags