본문 바로가기
Database

[Mongo] 백업 및 복원하기

by yonikim 2021. 8. 27.
728x90

 

프로덕션은 Atlas MongoDB 를 이용하고 스테이징은 AWS DocumentDB 를 사용하고 있었는데, 플랫폼을 통일하자고 하여 스테이징도 Atlas 를 이용하기로 했다. 

 

MongoDB 는 백업하는 명령어와 복원하는 명령어가 2가지씩 있다. 

mongodump + mongorestore / mongoexport + mongoimport

 

mongoexport 와 mongoimport 는 collection 단위로 백업 및 복원 하는거고, 

mongodump 와 mongorestore 는 database 단위로 백업 및 복원 하는 것이다. 

mongoexport 는 데이터만 백업하는 것이다 보니 인덱스 정보는 저장되지 않지만, mongodump 는 인덱스까지 저장된다.

 

우리의 경우 AWS DocumentDB 에 있는 데이터를 전부 Atlas MongoDB 로 옮겨야 했기에 mongodump 와 mongorestore 를 이용하였는데, mongorestore 과정에서 애를 먹었기에 기록차 남겨두려고 한다.

 


 

※ 백업하기

$ mongodump -h ${host}:${port} -u ${username} -p {password}

 

※ 복원하기

* 이 때 host 에는 replica Set 3개의 주소 중 1개의 주소를 넣으면 된다.

$ mongorestore --ssl --host ${replicaSet host}:${port} -d ${database_name} -u ${username} -p ${password} ${dump한 PATH} --authenticationDatabase admin

 

728x90

'Database' 카테고리의 다른 글

[MySQL] 트랜잭션 (Transaction)  (1) 2024.01.05