mongoDB는 mongo 명령어로 쉘에서 바로 접속해서 작업하는게 가능합니다.
하지만 서비스 운영중이라면 이건 좀 위험하다는 생각이 드실거에요.
그래서 패스워드를 통한 계정 설정 및 로그인 방법을 간단히 정리했습니다.
1. 우선 mongod 서비스를 실행합니다.
$mongod --port 27017 --dbpath /data/db
2. mongo 명령어로 콘솔에 접속합니다.
$mongo
3. admin 계정을 먼저 생성해봅시다.
> use admin # system 영역 디비를 사용하겠다는 의미
> db.createUser({
user: "myUserAdmin",
pwd: "abc123",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
})
성공하면 다음과 같은 메시지가 뜹니다.
Successfully added user: {
"user" : "myUserAdmin",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
}
]
}
4. 디비를 생성하고 디비 사용자 계정을 생성합니다.
> use test #mongoDB에서는 use 명령으로 디비가 생성되며, 최초 컬렉션 및 document 추가 때 실제 db의 데이터 영역이 설정됩니다.
> db.createUser(
{
user: "myTester",
pwd: "xyz123",
roles: [ { role: "readWrite", db: "test" },
{ role: "read", db: "reporting" } ]
})
위의 메시지와 비슷하게 성공했다고 메시지가 뜰겁니다.
5. 이제 생성한 계정으로 접속을 해봐야죠.
우선 mongod 서비스에서 인증모드를 활성화 해야합니다.
(1) mongod 명령 실행시 --auth 파라미터를 추가
(2) service 명령어로 실행시에는 설정파일에 다음 내용을 추가한 후 mongod 를 재시작
security:
authorization: enabled
$ sudo service mongod restart
$ mongo 127.0.0.1:27017/admin -u 'root' -p '<패스워드>' #admin으로 로그인
$ mongo 127.0.0.1:27017/kevins_data -u 'kevinJ' -p '<패스워드>' #db별 사용자로 로그인
로그인이 되면 콘솔에서 명령어를 입력하여 컬렉션 추가, document CRUD 작업 등을 할 수 있습니다.
아래 사진은 터미널에서 콘솔로 접속하여 작업을 수행하는 모습입니다.
참고한 사이트는 다음과 같습니다~
2. http://blog.freezner.com/archives/1040
3. http://egloos.zum.com/tiger5net/v/5711233
'Web 개발 (업데이트 없음)' 카테고리의 다른 글
Angular CLI 로 Angular 환경 셋팅하기 #2 (0) | 2018.10.28 |
---|---|
Angular CLI 로 Angular 환경 셋팅하기 #1 (0) | 2018.10.28 |
MongoDB 네트워크 및 옵션 설정 (0) | 2018.10.28 |
Mongo DB 설치 정리 (Ubuntu) (0) | 2018.10.28 |
Mongo DB 설치 정리 (Mac) (0) | 2018.10.28 |