{ 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 |