작업관리자에서 강제적으로 Mongo 서비스종료하고 나서 재시작을 할려고 하니 이 에러가 발생했습니다.

exception in initAndListen: 10296 dbpath (/data/db) does not exist


그리고 Data/db 폴더에 Lock파일의 사이즈가 0 이 아닌 상태가 됩니다.

mongod.lock


비정상종료가 되면 시스템을 보호하기 위한 조치인것으로 보이면 수리하는 절차를 밟아야 합니다.

Recover MongoDB Data following Unexpected Shutdown

http://docs.mongodb.org/manual/tutorial/recover-data-following-unexpected-shutdown/ )


절차를 간단하게 정리해 보겠습니다.

Mongo 데몬을 종료하기 위해서는 mongod --shutdown 옵션을 사용하면 됩니다.

일반적으로 저널링이나 레플리카 세트을 사용하고 있지 않은 상태에서 시스템이 비정상적으로 종료된 경우에는 항상 수리(repair)과정을 거쳐야 합니다.

dbpath 폴더에 mongod.lock 파일이 0보다 큰사이즈로 존재한다면 mongod 는 시작되는것을 거절할것입니다.

original file 을 수정되기 전상태로 유지할 필요가 있을때

1. mongod --dbpath /data/db --repair --repairpath /data/db0

2. mongod --dbpath /data/db0

original file 을 수정되기 전상태로 유지할 필요가 없을때

1. rm /data/db/mongod.lock

2. mongod --dbpath /data/db --repair

3. mongod --dbpath /data/db


**  Mongo 데몬을 서비스로 등록하기

mongod --config d:\mongodb\mongod.cfg --install

net start MongoDB

net stop MongoDB

mongod --remove


** 인증된 사용자가 사용할수 있도록 암호를 설정해서 서비스로 등록하기

mongod --auth : 보안적용, --config : 로그파일설정, --install : 서비스로 등록


** systems 데이타베이스 사용자등록

db.removeUser("***")

db.systems.users.find()

db.addUser("***","password")


블로그 이미지

희망잡이

,