이번 글에서는 MongoDB를 설치하는 방법에 대해서 공유합니다. 

현재 최신 버전인 mongoDB 4.4를 설치합니다.

리눅스(ubuntu 18.04)

하단에 있는 mongoDB의 공식 사이트를 설치 방법을 참조하시는 것이 좋습니다. 

설치 하기

// ubuntu 18.2 & mongoDB 4.4
 
// mongoDB의 public key를 등록합니다. 
wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
 
// mongoDB의 4.4를 생성하기 위한 리스트 파일 설정
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
 
// 로컬 패키지 데이터 베이스 업데이트
sudo apt-get update
 
// 최신버전의 mongoDB 설치
sudo apt-get install -y mongodb-org
 
// 서비스 시작
sudo systemctl start mongod

# mongoDB 종료
mongo localhost/admin -u <유저명> -p <비밀번호>
 
> use admin
 
# localhost로 접속해야 됨
> db.shutdownServer();

삭제 방법

// apt로 설치된 mongoDB 확인
sudo apt list --installed | grep mongo
 
// 제거 ex) sudo apt remove mongodb-server
 
sudo rm -r /var/log/mongodb
sudo rm -r /var/lib/mongodb

참조

https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/

공 통

몽고 디비 설정 파일 

https://docs.mongodb.com/manual/reference/configuration-options/index.html

몽고 DB의 설정 파일은 YAML 포맷으로 되어 있습니다. 

경 로

플랫폼 파일 위치
Linux /etc/mongod.conf
macOS /usr/local/etc/mongod.conf
Windows <install directory>\bin\mongod.cfg

중요 옵션

자주 사용하는 옵션

타입 기본값 설명
net.bindIp localhost

ip address 정보

ex) 0.0.0.0

net.port

27017 - mongod
27018 - shard member
27019 - config server member

MongoDB의 포트번호
processManagement.fork false 백그라운드에서 실행하도록 mongod에 데몬 모드를 설정합니다. 
processManagement.pidFilePath 경로 mongod의 프로세스 ID를 저장할 경로를 지정합니다.  
processManagement.timeZoneInfo /usr/share/zoneinfo  
replication.enableMajorityReadConcern true

Read Concern은 아래와 같은 타입이 있음
local : 본인의 NODE 확인
majority : 다수의 NODE가 동의

replication.oplogSizeMB 사용 가능한 disk의 5% 공간

replication 작업을 위한 로그 사이즈의 최대 크기 설정 (MB단위)

replication.replSetName  

mongod 가 속한 replication 셋트의 이름입니다.
replication set에 속한 모든 인스턴스들은 동일한 값을 가집니다.

systemLog.destination "file" or "syslog"

file : systemLog.path 경로에 파일을 기록합니다.
file 옵션을 추천하는 이유는 syslog의 경우 timestamp를 syslog가 생성하기 떄문에
로그가 생성된 시간하고 불일치 할 수 있음(특히 부하가 심한 경우)

systemLog.logRotate rename

rename : 로그 파일의 이름을 변경합니다. 
reopen : 일반적인 linux/unix의 동작 방식에 따라 로그파일을 관리합니다.
reopen을 사용하는경우 logAppend도 true로 설정해야 함.

systemLog.path /var/log/mongodb/mongod.log 로그가 기록되는 경로
systemLog.quiet false mongos 또는 mongod를 조용한 모드로 실행합니다. 
systemLog.syslogFacility user syslog에 기록되는 메시지를 설정
systemLog.traceAllExceptions false 디버깅을 위한 자세한 정보를 출력 
systemLog.verbosity 0

로그 상세 수준을 설정합니다. 
디버그 메시지를 추가하려면 1 ~ 5 사이 값을 설정해야합니다. 

 

Mongo 계정 추가 방법

// 클라이언트로 접속
mongo
 
// admin으로 변경
> use admin
 
// pbnadmin 계정 추가
> db.createUser({user : "admin", pwd:"12345", roles :['root'], mechanisms : ["SCRAM-SHA-1"]})

 

+ Recent posts