Data/NoSQL

Q. MongoServerError: not authorized on admrul to execute command 해결방법은?

makeitworth 2022. 8. 2. 09:48
{ ok: 1, dropped: 'admrul' }​
db.createUser({ user: <유저이름>, pwd:<비번>, roles: [{role: 'root', db: 'admin'}] });

환경

linux Ubuntu 20.04.4 LTS

MongoDB 5.0.9

bash

에러 발생 상황

다른 곳에서 import 한 database에 문제가 있어서 해당 db를 삭제하려는 상황

https://www.tutorialkart.com/mongodb/mongodb-delete-database/

위의 포스팅을 참고하여 해당 db로 간다음 db.dropDatabase() 입력했을 때 해당 에러 발생

 

에러 메세지

MongoServerError: not authorized on admrul to execute command { dropDatabase: 1, lsid: { id: UUID("089fa023-10f1-4e69-93c0-99955ecb25b1") }, $db: "admrul" }

 

해결

참고 포스팅에 의하면 내가 현재 DB에 접속한 user계정이 최고관리자가 아니기 때문에 권한이 없는 상황

root권한이 있는 user를 만들어 주었다.

db.createUser({ user: <유저이름>, pwd:<비번>, roles: [{role: 'root', db: 'admin'}] });

그런 다음 해당 유저계정을 전환

 db.auth(<유저이름>,<비번>)

하면, 루트 권한을 가진 유저로 접속한 것이 되므로 다시  삭제하고자 하는 데이터베이스로 이동하여 삭제 쿼리 db.Database()를 입력하면 

{ ok: 1, dropped: 'admrul' }

성공했다는 메세지가 뜬다.

'Data > NoSQL' 카테고리의 다른 글

내가 쓰기 위해 정리하는 MongoDB 쿼리 ( 업데이트중)  (0) 2022.08.02
NoSQL MongoDB 사용하기  (0) 2022.08.01