티스토리 뷰
개요
- MongoDB는 NoSQL 진영의 대표주자로서, 특수한 목적이 아닌 일반적이고 보편적인 목적의 애플리케이션 데이터를 영구적으로 저장할 수 있는 오픈 소스 데이터베이스이다. 특히, 4.0(2018년) 버전부터 서로 다른 컬렉션 간의 트랜잭션을 지원하면서, RDBMS의 위치를 위협할 정도로 쓰임새가 많아졌다.
MongoDB 설치: Docker 컨테이너 방식
- 아래는 MongoDB를 도커 컨테이너로 레플리카 셋으로 구성하여 설치하는 예이다. [관련 링크]
$ mkdir mongodb
$ cd mongodb
$ nano docker-compose.yml
version: '3'
services:
MongoDB:
image: mongo:4.4.4
command: ["--replSet", "foobar-dev", "--bind_ip_all", "--port", "27017"]
volumes:
- "./data:/data"
ports:
- "27017:27017"
healthcheck:
test: test $$(echo "rs.initiate().ok || rs.status().ok" | mongo --port 27017 --quiet) -eq 1
interval: 10s
start_period: 30s
networks:
- MongoDB
networks:
MongoDB:
driver: bridge
$ docker-compose pull
$ docker-compose up -d
$ docker-compose ps
Name Command State Ports
---------------------------------------------------------------------------------------------------
mongodb-docker_MongoDB_1 docker-entrypoint.sh --rep ... Up (healthy) 0.0.0.0:27017->27017/tcp
어드민 계정 설정
- MongoDB의 본격적인 사용에 앞서 초기 어드민 계정과 권한을 설정해야 한다.
$ docker-compose exec MongoDB sh
# mongo
> use admin
> db.createUser({ user: "admin", pwd: "admin", roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ]})
> exit
# mongo --authenticationDatabase "admin" -u "admin" -p
> exit
# mongo
> use admin
> db.auth("admin", "admin")
1
> db.createUser({user: "foobar-dev"", pwd: "{password}", roles : [{role: "readWrite", db: "foobar-app-dev"}, {role: "readWrite", db: "foobar-data-lake-dev"}]})
> exit
MongoDB Shell 설치
- MongoDB 전체를 설치하지 않고, 원격지 데이터베이스에 연결하기 위해 Shell만 설치하고자 할 경우, 아래와 같이 설치하면 된다.
# MongoDB Shell 설치
$ sudo yum install -y mongodb-org-shell
MongoDB 실행
- 아래는 MongoDB 실행 방법이다.
### 서비스 포트 확인
$ nmap -p 27017 localhost
PORT STATE SERVICE
27017/tcp open unknown
### MongoDB 4.0 실행
$ mongo
MongoDB shell version v4.0.11
### 현재 존재하는 디비 목록 조회
> db
test
### 사용 디비 변경
> use test
switched to db test
### 현재 DB에 존재하는 컬렉션 조회
> show collections
댓글
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Kendo UI Web Grid
- chrome
- 알뜰폰
- 평속
- maven
- Eclipse
- jsp
- Docker
- CentOS
- 자전거
- kotlin
- bootstrap
- graylog
- JavaScript
- MySQL
- 로드바이크
- 로드 바이크
- node.js
- 구동계
- DynamoDB
- Tomcat
- JHipster
- spring
- Spring MVC 3
- Kendo UI
- jpa
- Spring Boot
- jstl
- 태그를 입력해 주세요.
- java
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함