안녕하세요. 팀드모네입니다.
몽고 DB를 덤프하고 백업하는 명령어를 공유드립니다. 윈도우 기준으로 작성하였는데, 리눅스에서 운용하시는 분들은 센스있게 리눅스 경로로 바꿔서 사용하시면 됩니다 ^ ^; 다들 똑똑하시니까 잘 하실 것 같아요
🧭 혹시 매우 정교한 작업을 하시는 경우?!
혹시 제가 포스팅한 내용보다 더 정교한 작업을 하시는 경우, 반드시 공식 홈페이지를 참고해주세요!
덤프(dump) : https://www.mongodb.com/docs/database-tools/mongodump/
복원(restore) : https://www.mongodb.com/docs/database-tools/mongorestore/
🎯 MongoDB가 설치된 경로로 이동
cd C:\Program Files\MongoDB\Server\4.0\bin
🎯 MongoDB Dump 명령어
몽고 DB 덤브 명령어는 아래와 같습니다.
그리고 이왕이면 zip으로 압축하는 것이 좋습니다. --gzip 옵션을 안주면 저의 경우 덤프가 100GB가 넘어가더라구요..
[dump 명령어 옵션]
mongodump --host 호스트명 --port 포트명 -u 계정명 -p 비밀번호 -d DB명 -out 저장할 폴더 경로 --gzip
[dump 명령어 예시]
mongodump --host 192.168.0.100 --port 27075 -u root -p 12345678 -d TEST_DB -out C:\dump --gzip
[옵션 설명]
--host : 몽고 DB의 IP 주소
--port : 몽고 DB의 포트 번호
--out : 덤프 파일이 저장될 폴더 경로
--collection : 덤프 받을 table(collection) 선택 (미작성 시 Collection 전체)
--gzip : 덤프 파일 확장자
-u : 계정명
-p : 계정의 비밀번호
-d : 덤프 받을 DB 선택 (미작성 시 DB 전체)
🎯 MongoDB restore 명령어
restore명령어를 사용하여, 위에서 생성한 덤프 파일을 DB에 밀어넣겠습니다.
공식 홈페이지에 따르면, --drop 옵션을 기술하면 덤프 파일에서 테이블을 복원하기 전에 대상 데이터베이스에서 테이블을 삭제합니다. 그리고 덤프 파일에 없는 테이블은 제거하지 않습니다.
[restore 명령어 옵션]
mongorestore --host 호스트명 --port 포트명 -u 계정명 -p 비밀번호 -d DB명 -out 저장할 폴더 경로 --drop
[restore 명령어 예시]
mongorestore --host 192.168.0.100 --port 27075 -u root -p 12345678 -d TEST_DB -out C:\dump --drop
[옵션 설명]
--host : 몽고 DB의 IP 주소
--port : 몽고 DB의 포트 번호
--collection : 덤프 받을 table(collection) 선택 (미작성 시 Collection 전체)
--drop : 덤프 파일에 존재하는 테이블이 있다면 제거
-u : 계정명
-p : 계정의 비밀번호
👉 Result
DB를 다루는 일은 매우 중요한 일입니다.
혹시 긴가민가하시면, 공식 홈페이지를 꼭 참고해주세요!
https://www.mongodb.com/docs/database-tools/mongorestore/
블로그 방문해주셔서 감사합니다.
도움이 되셨으면 '좋아요'를 눌러주세요!
추가로 질문사항이 있으면 댓글 남겨주세요 :)