티스토리 뷰

TIL/Database

MongoDB 백업 및 복구

DandyU 2025. 1. 2. 18:46

1. 데이터 백업 (mongodump)

MongoDB 데이터를 백업하려면 mongodump 명령어를 사용합니다.

기본 백업

mongodump --host 127.0.0.1 --port 27017
  • /dump 디렉토리에 DB별로 BSON 파일 형태로 백업됩니다.

백업 경로 지정

mongodump --out ~/mongo_backup --host 127.0.0.1 --port 27017

인증 정보 추가

mongodump --out <dump data path> --host 127.0.0.1 --port 27017 -u <username> -p <password>

특정 데이터베이스 백업

mongodump --out <dump data path> --host 127.0.0.1 --port 27017 -u <username> -p <password> --db <db명>

특정 컬렉션 백업

mongodump --out <dump data path> --host <dbhost> --port 27017 -u <username> -p <password> --db <db명> --collection <collection명>

인증 오류 해결

인증 오류가 발생할 경우 아래 옵션을 추가합니다:

--authenticationDatabase admin

2. 데이터 복구 (mongorestore)

백업된 데이터를 복구하려면 mongorestore 명령어를 사용합니다.

기본 복구

mongorestore --host 127.0.0.1 --port 27017 <복구할 덤프 데이터 경로>

특정 DB 복구

mongorestore --host 127.0.0.1 --port 27017 --db <복구할 DB명> <덤프 데이터 경로>

데이터 삭제 후 복구

mongorestore --host 127.0.0.1 --port 27017 -u <username> -p <password> --drop --db <복구할 DB명> <덤프 데이터 경로>
  • --drop: 복구 전에 기존 데이터를 삭제하고 새 데이터로 복구.

컬렉션 단위 복구

mongorestore --host <dbhost> --port 27017 --db <db명> --collection <컬렉션명> <덤프 데이터 경로>/<db명>/<컬렉션명>.bson --drop

예시:

mongorestore --port 27017 --db test2 --collection rest2 /mydata/restoredata/test/restaurants.bson --drop

3. 요약

  • 백업: mongodump 명령어로 전체, 특정 DB, 또는 특정 컬렉션 단위로 백업 가능.
  • 복구: mongorestore 명령어로 전체 또는 특정 DB, 컬렉션 단위로 백업 데이터를 복구 가능.
  • 인증 및 오류 처리: 인증 정보를 추가하거나 오류 발생 시 옵션을 사용하여 해결 가능.

'TIL > Database' 카테고리의 다른 글

데이터베이스 네이밍 룰(Naming Conventions)  (1) 2018.02.08
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
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
글 보관함