몽고DB(MongoDB←HUMONGOUS)는 크로스 플랫폼 도큐먼트 지향 데이터베이스 시스템이다. NoSQL 데이터베이스로 분류되는 몽고DB는 JSON과 같은 동적 스키마형 도큐먼트들(몽고DB는 이러한 포맷을 BSON이라 부름)을 선호함에 따라 전통적인 테이블 기반 관계형 데이터베이스 구조의 사용을 삼간다. 이로써 특정한 종류의 애플리케이션을 더 쉽고 더 빠르게 데이터 통합을 가능케 한다. Affero GPL과 Apache 라이선스를 결합하여 공개된 몽고DB는 자유-오픈 소스 소프트웨어이다.
뉴욕시에 기반을 둔 회사인 10gen (현재의 몽고DB)에서 2007년 10월, 계획된 PaaS(서비스형 플랫폼) 제품의 구성 요소로 처음 개발하였으며 10gen이 상용 지원 및 기타 서비스를 제공한 2009년에 오픈 소스 개발 모델로 전향하였다. 그 뒤로 몽고DB는 크레이그리스트, 이베이, 포스퀘어, 소스포지, 뉴욕 타임즈, 구글, 페이스북와 같은 수많은 주요 웹사이트 및 서비스에 백엔드 소프트웨어로 채택되고 있다. 몽고DB는 가장 유명한 NoSQL 데이터베이스 시스템이다.
MongoDB는 CAP이론의 CP에 해당한다.
https://www.mongodb.com/try/download/community
RPM package와 바이너리를 선택해 다운로드 할 수 있다.
wget https://repo.mongodb.org/yum/redhat/7/mongodb-org/6.0/x86_64/RPMS/mongodb-org-server-6.0.1-1.el7.x86_64.rpm
또는
curl -LO https://repo.mongodb.org/yum/redhat/7/mongodb-org/6.0/x86_64/RPMS/mongodb-org-server-6.0.1-1.el7.x86_64.rpm
sudo yum localinstall mongodb-org-server-6.0.1-1.el7.x86_64.rpm
Loaded plugins: fastestmirror
Examining mongodb-org-server-6.0.1-1.el7.x86_64.rpm: mongodb-org-server-6.0.1-1.el7.x86_64
Marking mongodb-org-server-6.0.1-1.el7.x86_64.rpm to be installed
Resolving Dependencies
--> Running transaction check
---> Package mongodb-org-server.x86_64 0:6.0.1-1.el7 will be installed
--> Finished Dependency Resolution
...후략
bindIP와 Port를 변경한다.
# mongod.conf
# for documentation of all options, see:
# http://docs.mongodb.org/manual/reference/configuration-options/
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
# Where and how to store data.
storage:
dbPath: /var/lib/mongo
journal:
enabled: true
# engine:
# wiredTiger:
# how the process runs
processManagement:
fork: true # fork and run in background
pidFilePath: /var/run/mongodb/mongod.pid # location of pidfile
timeZoneInfo: /usr/share/zoneinfo
# network interfaces
net:
port: 27017 # 기본값은 27017, 원하는 포트로 변경한다.
# bindIp: 127.0.0.1 # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 addresses or, alternatively, use the net.bindIpAll setting.
# Listen할 IP로 변경한다. 0.0.0.0도 가능하다.
binIp: 0.0.0.0
#security:
#operationProfiling:
#replication:
#sharding:
## Enterprise-Only Options
#auditLog:
#snmp:
sudo systemctl enable mongod --now
또는
sudo systemctl enable mongod
sudo systemctl start mongod