问题发生在非正常关闭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.属于常见问题,修复方法也很简单。再次放上官网的链接
修复方法:
原理:非正常关闭,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除非你想试试修复 :)