[MongoDB] 관리자 계정 추가/삭제하기
처음 MongoDB를 설치하게되면 기본 계정은 존재하지 않고 생성해야 합니다. 또한 한 계정으로 여러 데이터베이스의 권한을 가질 수 없으며 1사용자 1데이터베이스 원칙이 기존 MySQL, MS-SQL, Oracle과 다른 점입니다.
로컬에서는 계정 정보 없이 mongo 명령만으로 접근이 가능한데 외부에서 접속인증을 통한 원격 접근을 위해서는 계정을 생성해주셔야 합니다.
사용자 계정을 생성하기 위해서는 아래 과정이 필요합니다.
참고로 들여쓰기나 공백은 이해를 돕기위해 단락을 정리한 것으로 예제 형식과 다르더라도 문제될 것은 없습니다.
1. 쉘에서 mongo 실행
# mongo
2. 관리자 계정 및 권한 추가
use admin db.createUser( { user: "<username>", pwd: "<password>", roles: [ "userAdminAnyDatabase", "dbAdminAnyDatabase", "readWriteAnyDatabase" ] } )
위 내용은 mongo 실행 후 콘솔창에 line by line 으로 입력해주시면 됩니다.
use admin 명령을 입력하고 엔터를 친 뒤에 db.createUser 내용을 입력합니다.
3. 사용자 계정 및 권한 추가
use myDB db.createUser({ user: "<username>", pwd: "<password>", roles: ["dbAdmin", "readWrite"] })
myDB라는 데이터베이스를 생성했다고 가정하겠습니다.
use myDB명령을 준 뒤 db.createUser(db.addUser로 사용되었으나 db.createUser로 변경됨) 위 형식으로 타이핑해줍니다.
4. 관리자/사용자 계정 삭제
use Admin db.dropUser("<username>")
사용자 삭제는 간단합니다. 삭제한 사용자의 DB를 use로 선택해준뒤 db.dropUser(db.removeUser로 사용되었으나 db.dropUser로 변경됨)로 삭제해주시면 됩니다.