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] 트랜잭션 격리 수준 (0) | 2025.01.19 |
---|---|
[Database] SQL Injection (0) | 2025.01.09 |
[MySQL] 트랜잭션 (Transaction) (1) | 2024.01.05 |