MongoDB 에서의 백업과 복구

mongodump로 백업하기

MongoDB 에서 백업을 하는 명령어는 mongodump이다.

mongodump 명령어를 이용하여 백업을 하려면 다음과 같이 입력해 보자.

mongodump -uusername -ppassword -d myapp -o ~/backup

mongodump -u내계정 -p내패스워드 -d db명 -o 백업할 위치

-u 와 -p 옵션은 붙여서 사용할 수 있다.

만약 특정 콜렉션만 백업을 하고 싶다면

-c 콜렉션명

옵션으로 특정 콜렉션만 백업을 할 수도 있다.

mongorestore 로 복구하기

mongorestore -u계정명 -p비밀번호 -d db명 ~/backup

mongodump와 틀린점은 -o 옵션을 사용하지 않고 바로 기술하는 점이 다르다.

MongoDB 의 버전이 달라서 복구가 정상적으로 안될 경우(Nmap 에서 Wiredtiger로 변경할 경우) 가 있는데 인덱스 복구를 못하는 경우일 수 있다. 이 때는

--noIndexRestore

옵션을 추가하고, 인덱스를 다시 걸어주면 되겠다.

 

MongoDB클라이언트인 Studio 3T(구 MongoChef) (https://studio3t.com/) 를 이용하면 더 쉽게 백업과 복구가 가능하다. Studio 3T의 사용방법에 대해서는 다음에 안내하도록 하겠다.

나의 경우는 스케쥴링할 때는 mongodump 를 사용하고 crontab 을 사용하여 데일리 백업본을 만들고, 일반적으로 데이터 수정 / 이동 작업할 때는 Studio 3T로 작업을 하는 편이다.