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 작업 등을 할 수 있습니다.

아래 사진은 터미널에서 콘솔로 접속하여 작업을 수행하는 모습입니다.

 

참고한 사이트는 다음과 같습니다~

1. http://html5around.com/wordpress/tutorials/mongodb-%EC%9D%B8%EC%A6%9D%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0/

2. http://blog.freezner.com/archives/1040

3. http://egloos.zum.com/tiger5net/v/5711233

 

Posted by kevin.jeong.
,