Ubuntu에 MongoDB설치
MongoDB의 public GPG key를 주입
$ wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
MongoDB를 위한 리스트파일 생성
$ 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
MongoDB 서비스 실행
$ sudo service mongod start
$ sudo service mongod status
mongod.service - MongoDB Database Server
Loaded: loaded (/lib/systemd/system/mongod.service; disabled; vendor preset: enabled)
Active: active (running) since Thu 2021-12-30 07:16:16 UTC; 6min ago
Docs: https://docs.mongodb.org/manual
Main PID: 27156 (mongod)
CGroup: /system.slice/mongod.service
└─27156 /usr/bin/mongod --auth --config /etc/mongod.conf
Dec 30 07:16:16 ip-172-31-14-29 systemd[1]: Stopped MongoDB Database Server.
Dec 30 07:16:16 ip-172-31-14-29 systemd[1]: Started MongoDB Database Server.
MongoDB 관리자 계정 추가
사용자 추가
$ mongo
MongoDB shell version v4.4.11
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("db54c8e1-57ae-4527-bca6-aff34526826a") }
MongoDB server version: 4.4.11
> use admin
switched to db admin
> db.createUser({user: 'test', pwd: 'test1234', roles: ['root']})
Successfully added user: { "user" : "test", "roles" : [ "root" ] }
> exit
bye
사용자 삭제
$ mongo
MongoDB shell version v4.4.11
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("db54c8e1-57ae-4527-bca6-aff34526826a") }
MongoDB server version: 4.4.11
> use admin
switched to db admin
> db.dropUser("test")
외부 접속 설정
인증 설정
$ sudo service mongod stop
$ sudo vi /etc/mongod.conf
- mongod.conf에서 security의 주석을 해제한 후에 authorization: enabled를 추가한다
- MongoDB는 기본적으로 로컬호스트에서만 접속이 가능하므로 외부 접속을 위해서 net의 bindIp의 127.0.0.1을 0.0.0.0으로 변경한다
# mongod.conf
# for documentation of all options, see:
# http://docs.mongodb.org/manual/reference/configuration-options/
# Where and how to store data.
storage:
dbPath: /var/lib/mongodb
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:
~
EC2 연결
인스턴스 보안그룹 접속
인바운드 규칙 편집 열기
규칙 추가 후 저장
DataGrip 연결
data source에서 MongoDB를 클릭
Host, User, Password에 EC2 IP주소와 아까 작성한 test, test1234를 입력한 뒤에 Test Connection을 눌러서 오류가 없는지 확인합니다.
참고 문헌
'DB > MongoDB' 카테고리의 다른 글
[MongoDB] MongoDB 중복 설치 오류 및 삭제 (0) | 2021.12.30 |
---|