[MySQL] mysqldump 옵션

이강호·2022년 12월 16일
0
post-custom-banner

MariaDB 백업을 위해 mysqldump 명령어를 사용한다.
mysqldump로 빠른 속도, 최소의 용량으로 백업하기 위해 사용하는 옵션들을 정리한다.

mysqldump --single-transaction --quick --extended-insert --ignore-table=ignoreTableName...

--single-transaction

  • 하나의 트랜잭션을 통해 백업을 진행한다. MySQL의 InnoDB를 백업하는 경우 사용하는 옵션으로 해당 시점 이후의 DB의 변경 사항은 반영되지 않는다. 명령어가 시작된 시점의 DB 스냅샷을 백업한다고 생각하면 된다. 이는 InnoDB가 트랜잭션 세이프 스토리지이기 가능이다.

--quick

  • 대용량 테이블을 백업할 때 유용한 옵션이다. mysqldump는 백업하고자 하는 테이블의 모든 행을 스캔하고 메모리에 버퍼링하는 형태로 백업을 진행하는데, quick 옵션이 있는 경우 한 행씩 쓰기 작업을 하므로 메모리에 부담이 적고 빠르다.

--extended-insert

  • 의미 그대로 확장 형태의 INSERT 구문을 사용한다. mysqldump는 데이터의 INSERT 구문을 작성할 때 행 별로 작성하는데, 이 옵션이 켜져있는 경우 하나의 INSERT에 여러 VALUES가 포함된 형태의 INSERT문을 작성해준다. 그렇게되면 백업 결과물의 파일 크기도 줄어들고, 복원을 할 때도 훨씬 빠른 속도로 복원할 수 있다.

--ignore-table

  • DB를 백업할 때 굳이 백업할 필요 없는 경우(예를 들어, Log 성질의 테이블) 해당 옵션을 통해 백업하지 않을 테이블들을 정할 수 있다.

mysqldump — A Database Backup Program

profile
할 때 하고 놀 때 노는 개발자
post-custom-banner

0개의 댓글