DevOps/Database

mongo compass로 root 계정 생성하기

soohey 2022. 10. 25. 15:43

mongoDB를 fast api에 붙이는 중에 계정 생성하는 법을 몰라 athentic error가 발생해서 쓰는 글

 

1. 오류 및 원인 : mongodb authentication failed

계정 생성을 해줬는데도 에러가 계속 발생했다.

내가 사용할 collection 에 들어가서 계정 생성을 해줬는데 안되길래 봣더니 admin collection에서 계정 생성해줘야된다고 함

 

2. 해결

https://www.mongodb.com/try/download/compass

 

Try MongoDB Tools - Download Free Here

Free download for MongoDB tools to do more with your database. MongoDB Shell, Compass, CLI for Cloud, BI Connector and other database tools available.

www.mongodb.com

위 링크에서 MongoDB Compass를 다운받아 접속한다.

하단의 MONGOSH 쉘에서 계정 생성을 해준다.

use admin
db.createUser({user:"root", pwd:"root", roles:[{role:"readWrite", db:''}]})

db 에 사용할 컬렉션 이름을 기입해주면 됨

db.getUser("root")

db.getUser로 계정이 존재하는지 확인할 수 있다.

 

FastAPI에서 mongo접속 정보

from pymongo import MongoClient

client = MongoClient(
        f"mongodb://{DB_USERNAME}:{DB_PASSWORD}@{DB_HOST}:{DB_PORT}"
    )
    db = client[DB_NAME]
    collection = db[collection_name]