mongodb 非正常启动之后的修复问题

问题发生在非正常关闭mongodb之后,再次启动mongodb时会报错并无法启动

表现:

Tue Jan 8 11:01:55 [initandlisten] Unable to check for journal files due to: boost::filesystem::basic_directory_iterator constructor: No such file or directory: "/data/db/journal"
**************
Unclean shutdown detected.
Please visit http://dochub.mongodb.org/core/repair for recovery instructions.

属于常见问题,修复方法也很简单。再次放上官网的链接http://dochub.mongodb.org/core/repair

修复方法:

原理:非正常关闭,lock文件没有干掉,所以再次启动时,检查到会有lock文件的时候,就报这个错误。

进入数据库目录(上次启动时指定的dbpath=/data/db/)

删掉lock文件:

rm /data/db/mongo.lock

然后执行

mongod --repair    (修复,mongod依照自己的本地环境)

再次启动,ok

ps:正常关闭方法。

进入mongo shell

use admin

db.shutdownServer()

也可以使用,内部有KILL信号的处理

killall mongod

不要用kill -9除非你想试试修复 :)

posted on 2013-01-08 11:18  爱读书  阅读(378)  评论(0编辑  收藏  举报