포시코딩

[Docker] MongoDB dump & restore 본문

카테고리 없음

[Docker] MongoDB dump & restore

포시 2023. 8. 31. 12:22
728x90

우선 mongodump 명령어를 사용할 수 있어야 한다. 

나같은 경우도 docker를 통해서 mongodb를 사용하다보니 맥에서 해당 명령어가 없다고 나왔기에 설치를 진행했다. 

brew tap mongodb/brew
brew install mongodb-database-tools

 

dump

mkdir backup
mongodump --uri "mongodb://{username}:{password}@{ip or server address}:27017/{db_name}?authSource=admin" --out backup

`backup` 이라는 폴더를 만든 후 거기에 해당 db dump를 넣게 되는데 bson 확장자 형태로 주르륵 들어간다. 

여기서 내가 헤맸던 부분은 mongodb uri에 대해 쿼리스트링으로 authSource=admin을 넣어주지 않아서였음

 

다른 예시 명령어들은 딱 db까지만 작성해도 다 잘되는듯 싶었으나 이쪽 디비의 설정 때문인지 저 쿼리스트링을 추가해줌으로서 

dump file을 받을 수 있었다. 

 

restore

mongorestore --uri "mongodb://{username}:{password}@{ip or server address}:27017/?authSource=admin" --db {db_name} backup/{db_name}

 

위에서 소개한 dump & restore 방법의 경우 docker 위에서 돌아가는 MongoDB에 대해서도 적용이 가능하단 점이 장점이다. 

찾아보면 docker exec을 이용해 dump 뜬 후, cp를 사용해서 가져오는 방법이 많이 나오는데 

굳이 그럴 필요 없이 접속 정보를 통해 내 pc로 직접 가져올 수 있다. 

 

728x90