(*) Windows OS에서 Test용으로 구축한 MongoDB의 백업과 복원 방법
1. Backup
- 명령어 : mongodump.exe
- 구문
mongodump --host <source_host> --port <source_port> -u <username> -p <password> --authenticationDatabase <auth_db> --db <database_name> --out <backup_directory>
- Arguments
- --host: 원격 서버의 IP 또는 호스트 이름.
- --port: MongoDB가 실행 중인 포트(기본값: 27017).
- -u와 -p: MongoDB 사용자명과 비밀번호.
- --authenticationDatabase: 인증 데이터베이스(대개 admin).
- --db: 백업할 특정 데이터베이스 이름.
- --out: 백업 데이터를 저장할 디렉토리 경로.
- 예시
mongodump --host 192.168.1.10 --port 27017 -u admin -p password --authenticationDatabase admin --db example_db --out D:\Temp
out 폴더에 DB명의 폴더가 생기고 그 아래 백업 파일이 생성된다.
만약 네트워크 전송을 고려해야 한다면 압축 옵션을 사용할 수 있다.
mongodump --db example_db --archive=backup.gz --gzip
2. Restore
- 명령어 : mongorestore.exe
- 구문
mongorestore --host <target_host> --port <target_port> -u <username> -p <password> --authenticationDatabase <auth_db> --db <database_name> <backup_directory>
- Arguments
- --host: 복원할 대상 서버의 IP 또는 호스트 이름.
- --port: 대상 서버의 MongoDB 포트.
- -u와 -p: MongoDB 사용자명과 비밀번호.
- --authenticationDatabase: 인증 데이터베이스(대개 admin).
- --db: 복원할 데이터베이스 이름(필요시 백업된 데이터베이스 이름과 다르게 지정 가능).
- <backup_directory>: mongodump로 생성된 데이터가 저장된 디렉토리
- 예시
mongorestore --host 192.168.1.20 --port 27017 -u admin -p password --authenticationDatabase admin --db restored_db D:\Temp\restored_db_folder_name
(*) 참고로 mongodump는 MongoDB 서버와 함께 설치되지 않고, 별도로 MongoDB Database Tools 설치를 해줘야 함.
- 다운로드 파일 압축 해제 후 해당 폴더 내 bin에 명령어가 포함되어 있다.
만약 전역으로 사용하려면 Windows 환경 변수에 Tools/bin 경로를 추가 해야 한다.