MongoDB – 기본 환경설정
※ mongoDB 4.2 version
해당 문서는 mongoDB 4.2 version을 기준으로 테스트 후 작성하였으니 참고 부탁바랍니다.
- mongodb 서비스 관리
# mongodb 실행
$ service mongodb start
# mongodb 재시작
$ service mongodb restart
# mongodb 상태 확인
$ service mongodb status
# mongodb 종료
$ service mongodb stop
- mongod 환경설정 파일 위치 지정
mongod --config /etc/mongodb/mongod.conf
mongod -f /etc/mongodb/mongod.conf
- mongod 환경설정 주요 옵션
| 옵션 | 기본값 | 설명 |
|---|---|---|
| systemLog.verbosity | 0 | 로그 메시지 에 디버그 상세 수준 (1-5) |
| systemLog.logRotate | rename | 서버 로그 교체 시 동작 지정(rename or reopen) |
| systemLog.destination | 모든 로그 출력을 보내는 대상 (file or syslog) | |
| systemLog.logAppend | false | 재시작 시 기존 로그를 작성 방식 (백업 후 새로 작성 or 기존 로그에 이어서 작성) |
| systemLog. path | 필수 | 로그 파일의 경로 |
| net.port | 필수 | DB 접속 포트 |
| net.ipv6 | false | ipv6 사용 허용 여부 |
| net.bindIp | 필수 | 접근 허용 IP |
| net.bindIpAll | false | 모든 IP 접근 허용에 위해 ipv4의 경우 bindIp에 0.0.0.0 로 입력하면 되지만 ipv6의 경우 허용하기 위해 net.ipv6와 net.bindall 설정이 필요합니다 |
| processManagement.fork | false | 백그라운드 데몬 모드 활성화 여부 (Window 미지원) |
| processManagement.timeZoneInfo | Olson/IANA | 표준 시간대 데이터베이스를 로드할 전체 경로 |
| security.authorization | 비활성화 | 데이터베이스 접근 제어 여부 (enabled or disabled) |
| storage.dbpath | /data/db | mongod 인스턴스가 데이터를 저장하는 경로 |
| storage.journal.enabled | true | 뜻밖의 오류가 발생했을 경우 복구를 위한 확인 도구 활성화 여부 (storage.dbpath를 지정한 경우에만 적용) |
- mongod 환경설정 예시
# mongod.conf
# for documentation of all options, see:
# http://docs.mongodb.org/manual/reference/configuration-options/
# Where and how to store data.
storage:
dbPath: /data/db
journal:
enabled: true
# engine:
# mmapv1:
# wiredTiger:
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
# network interfaces
net:
port: 27017
bindIp: 0.0.0.0
# how the process runs
processManagement:
timeZoneInfo: /usr/share/zoneinfo
security:
authorization : enabled
#operationProfiling:
#replication:
#sharding:
## Enterprise-Only Options:
#auditLog:
#snmp:
- Dockerize – 계정 관련 설명 참고
# 1. 이미지를 받아서 포트 지정 후 배포
docker run --name test-mongo -d --rm -p 27017:27017 mongo:4.2
# 2. 1번에서 DB 데이터를 볼륨 데이터로 마운트 추가
docker run --name test-mongo -d --rm -p 27017:27017 -v %cd%/db:/data/db/ mongo:4.2
# 3. 2번에서 로그 데이터 마운트, 환경설정 위치 지정 및 디렉터리 마운트
docker run --name test-mongo -d --rm -p 27017:27017 \
-e MONGO_INITDB_ROOT_USERNAME=root \
-e MONGO_INITDB_ROOT_PASSWORD=secret \
-v %cd%/db:/data/db/ -v %cd%/conf:/etc/mongo \
-v %cd%/log:/var/log/mongodb \
mongo:4.2 --config /etc/mongo/mongod.conf
댓글 한 개
핑백 :