MongoDB to MongoDB

방법

  1. 직접 개발하여 migration
  2. MongoDB에서 제공해주는 툴인 mongodump와 mongorestore 이용
  3. 외부에서 제공해주는 툴, mongoShake 등 이용
  4. secondary에서 file copy
  5. replica set에 멤버로 추가하고 데이터를 initial sync 해온 다음에 따로 새로운 cluster를 구축

mongodump와 mongorestore

https://www.mongodb.com/docs/database-tools/mongodump/

https://www.mongodb.com/docs/database-tools/mongorestore/

mongoDB Atlas 샘플 데이터 및 생성했던 데이터 → 전에 로컬에 만들어놨던 replica set으로 옮기기

  1. replica set 띄우고 primary 접속 시, 기본 데이터베이스들만 존재하는 것 확인 가능

    Untitled

  2. mongodump 사용하기

    1. 사용법 확인

      Untitled

    2. mongodump 파일 만들기

      ./mongodump --uri "mongodb+srv://cluster0.ujeuqp3.mongodb.net" -u seowon --gzip --readPreference=secondary --out ./dump1

      • uri : mongoDB Atlas 접속 시 사용하는 uri
      • u : user
      • gzip : 압축하여 저장함
      • readPreference : secondary
      • out : 하위의 dump1 파일에 dump 해줌
    3. database와 collection 복사 현황 확인 가능

      Untitled

      Untitled

    4. 완료 후 해당 디렉토리 안에 각 데이터베이스별로 들어가있는 것 확인 가능

      Untitled

  3. mongostore 사용하기

    1. 사용법 확인

      Untitled

    2. mongorestore 실행하기

      ./mongorestore --uri "mongodb://localhost:27017/" --gzip ./dump1/

      • uri : 마이그해올 primary uri
      • gzip : dump시 압축했으므로 gzip 형태 사용
      • ./dump1/ : dump한 파일 경로
    3. restore 현황 확인 가능

      Untitled

      Untitled

      mongo export/import와 달리 인덱스에 대한 부분도 작업함

      Untitled

      최종 처리 결과 확인 가능

  4. 마이그 목적지 접속하여 결과 확인

    Untitled

    데이터베이스, 컬렉션, 인덱스 등 모두 잘 마이그레이션되어 있음!