일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- mongoose
- AWS
- 공룡게임
- Queue
- jest
- Dinosaur
- MySQL
- MongoDB
- 게임
- nodejs
- Python
- Nest.js
- Express
- JavaScript
- 정렬
- Bull
- TypeScript
- dfs
- flask
- OCR
- typeORM
- 자료구조
- react
- GIT
- class
- cookie
- Sequelize
- nestjs
- game
- Today
- Total
포시코딩
MongoDB Atlas에서 Local MongoDB로 데이터 옮기기 (Migrating from MongoDB Atlas to a local MongoDB) 본문
MongoDB Atlas에서 Local MongoDB로 데이터 옮기기 (Migrating from MongoDB Atlas to a local MongoDB)
포시 2022. 10. 4. 21:58한글로 해당 내용을 찾긴 애매해서 구글링하기 쉽게 영어로 제목을 작성했는데 이 글을 보는 분들에게 도움이 됐음 좋겠다.
기존에 MongoDB Atlas라는 클라우드 데이터베이스를 통해 mongoDB를 사용했었는데
무료 클라우드 서비스다보니 사용하면서 오류 및 딜레이도 있고
데이터를 수정했다 락이 걸려 하루종일 뭐가 문제인지 찾아보는 일도 있었다.
때문에 이번에 새 프로젝트를 시작하기 전 예전에 애용했었던
MySQL, MSSQL처럼 local에 직접 설치해 사용하려고 마음 먹었다.
하지만 진행하려던 새 프로젝트가 기존 프로젝트를 리부팅 하는거기 때문에 데이터는 가져와야하는 상황.
데이터도 얼마 없고 경험도 없었다면 하나하나 다시 데이터를 넣었을텐데
MongoDB Atlas에서 데이터를 추출해 local DB로 넣을 방법이 있을거 같다는 생각에 구글링을 시작했다.
결과적으로 성공했고, 공식홈페이지, 블로그와 stackoverflow 양키성님의 질문 답변을 통해 도움을 많이 받았다.
https://cloud.mongodb.com/v2/62844a0642fe7a26295e05ef#clusters/commandLineTools/Cluster0
https://velog.io/@yeonlisa/MongoDB-Importing-Exporting
https://stackoverflow.com/questions/48682173/how-to-import-dump-folder-into-mongodb-database
제일먼저 MongoDB Database Tools를 설치한다. 링크
export / import 를 하기위한 도구들이 여기 있기 때문.
해당 포스팅에선
export에 mongodump를,
import에 mongorestore를 사용할거임
windows 기준 zip 파일일텐데 압축해제 후 해당 파일들을 mongoDB가 설치된 경로에 옮겨준다.
C:\Program Files\MongoDB\Server\6.0
이제 준비 끝
MongoDB Atlas로 접속 후 옮길 DB가 있는 클러스터에서 제일 오른쪽에 있는 Cmd Line Tools 탭을 클릭
그다음 명령프롬프트를 키고 export된 파일들을 받을 폴더로 먼저 이동한다.
나는 저번에 만든 c:\data\ 폴더에서 진행했음
mongodump에 해당하는 부분을 복사해서 비밀번호란도 채워넣은 후 입력해준다.
done dumping ~ 어쩌구를 하며 dump 폴더가 생성됨
들어가보면 원하던 Collection들이 다 들어있는걸 확인할 수 있다.
이제 내 local db에 넣어보자
이거는 지금 진행하는 DB -> 파일 -> DB 방식이 아니고
A DB -> B DB 로 쏘는 방식으로 보여 패스하고 다른 방법을 찾아봤다. (맞는지 누가 테스트좀..)
구글링해서 답을 얻을 수 있었는데
그냥 간단하게
mongorestore -d {db_name} {dump_folder_path}
만 쓰면 된다고 한다.
바로 테스트
GDGM이라는 db_name으로 가져올거고
해당 데이터들은 dump폴더안 GDGM폴더에 있기 때문에 경로를 저렇게 써줬다.
엔터를 누르니 마지막에 successfully된 항목 개수가 뜨고 실패한건 없다고 나오니 잘 된 것 같다.
켜져있던 Compass를 디스커넥트하고 다시 접속해보니
기본으로 있던 admin, config, local들 사이에
내 GDGM이라는 db가 있는것을 확인할 수 있었다!
안에 내용물도 제대로 있는지 확인까지 했으니 이제 제대로 개발을 시작할 준비가 끝났다..
위 내용중 버전이 바뀌며 달라질 내용도 있을거고
저와 다른 환경이면 진행 방법에 상이한 부분이 있을건데
만약 진행하며 그런게 있다면 댓글로 정보 공유 부탁드립니다.
'MongoDB' 카테고리의 다른 글
[Mongoose] Model ObjectId Type 사용하기 (0) | 2022.11.14 |
---|---|
맥북 Intel m1에서 local MongoDB 설치 (0) | 2022.11.11 |
MongoDB Atlas 데이터 Compass로 보기 (0) | 2022.10.04 |
Local 설치 (0) | 2022.10.04 |
Object Array 안에서 매칭되는 값으로 데이터 찾기 find value in array of object (0) | 2022.07.19 |