[개발] MONGODB 사용자 추가 및 암호 설정 모드로 기동하기

개요

기본적으로 설치 과정은 생략한다. 어딘가 글 써놓긴 했는데 -_-;;

기본 설치 시 로컬에서만 로그인이 가능하기 때문에 설정을 통해 mogodb를 외부 접속이 가능한 암호 인증 방식으로 기동해보도록 한다.

  • 테스트 환경 : ubuntu 18.04 / MongoDB shell version v4.2.6

암호 없이 몽고 DB 기동

$ sudo mongod --bind_ip_all --noauth --dbpath [DB저장 폴더경로] --directoryperdb &

  • --bind_ip_all : 모든 IP 에서 접속 가능하도록 함 ( 미 설정 시 /etc/mongd.conf 기본값 127.0.0.1 )
  • --noauth : 인증 절차를 거치지 않음
  • --dbpath : DB 파일을 저장할 경로
  • --directoryperdb : database 명 기준으로 폴더를 생성하여 관리

DATABASE 및 계정 생성 및 권한 부여

터미널에서 mongo 또는 MogoDB Compass Community 등을 활용하여 DB에 접속한다. (현재는 외부에서 접속 가능)

use steemit
  • steemit 데이터베이스로 전환(또는 빈 깡통생성)
db.createUser(
  {
    user: "wonsama",
    pwd:  passwordPrompt(),
    roles: [ { role: "readWrite", db: "steemit" } ]
  }
)
  • passwordPrompt() 입력시 암호를 입력받아 저장, 문자열로 지정 가능
  • { role: "readWrite", db: "steemit" } : wonsama 라는 사용자에게 steemit Database 에 readWrite (읽기 쓰기 ) 권한을 부여

암호 설정 후 몽고 DB 기동

$ sudo mongod --bind_ip_all --auth --dbpath [DB저장 폴더경로] --directoryperdb &

// 로그인 by connection string

connection string 을 통해 로그인

mongodb compass community 를 통해 로그인 하는 경우

아래 에서 [ , ] 와 같은 중괄호는 입력하지 않아도 된다. 매칭되는 정보를 입력하면 됨

mongodb://[ID]:[PASSWORD]@[IP]:[PORT]/?authSource=[DB명]&readPreference=primary&appname=MongoDB%20Compass%20Community&ssl=false

  • [ID] : 사용자명
  • [PASSWORD] : 암호
  • [DB명] : authSource (인증정보) 가 담겨진 database (위 같은경우 use DB명에 해당하는 steemit 이 됨)

mongo 를 통해 로그인

[PORT] 는 생략 가능하며 기본값은 27017

mongo -u [ID] -p [PASSWORD] [IP]:[PORT] --authenticationDatabase [DB명]

맺음말

위와 같이 사용자 및 권한 생성 후 DB 를 관리하면 좀더 유연하게 사용자 및 데이터 관리를 할 수 있다 :)

Coin Marketplace

STEEM 0.04
TRX 0.32
JST 0.082
BTC 63917.36
ETH 1728.42
USDT 1.00
SBD 0.44