MongoDB 설치 및 사용

./img002

참고

1. 키 추가

wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add -

2. 레포지토리 추가

echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.2.list

3. 패키지 최신화 및 설치

sudo apt update
sudo apt-get install -y mongodb-org

4. 서비스 시작

service mongod start
service mongod enable
service mongod status

5. 관리자 계정 생성

MongoDB CLI를 통해 인증을 위한 관리자 계정을 생성한다.

mongo

use admin
db.createUser(
  {
    user: "원하는 계정 이름",
    pwd: "패스워드",
    roles: ['root']
  }
)

6. MongoDB 바인딩 설정 및 관리자 계정 설정

기본적으로 처음에 127.0.0.1로 바인딩 되게 설정되어 있으므로 수정해주어야 외부에서 접근이 가능하다. 또한 MongoDB는 기존 Mysql or MariaDB와 달리 설치시 계정을 설정하지 않는다. 따라서 보안을 위해 따로 설정을 해주어야한다.

/etc/mongod.conf

# network interfaces
net:
  port: 27017
  bindIp: 0.0.0.0
  
# Authentication
security:
	authorization: enabled

7. 접속 확인

세가지 방법이 가능하다. 커맨드를 통해 or 쉘에 들어가있는 상태 or ORM을 통한 접속 확인

  • 커맨드

    mongo -u "admin" -p --authenticationDatabase "admin"
    
  • use admin
    db.auth("계정", "암호" )
    
  • Mongoose

    mongoose.connect('mongodb://계정:암호@호스트:포트/admin', { dbName: '사용할 데이터베이스' });
    

몽고 DB는 실제로도 DB에 계정을 설정안해 암호화 당하고 비트코인 요구를 당한 적이 있으니 필이 계정을 설정하여 접근하는 것이좋다.