以前MongoDB启动的时候是蛮正常的,不知道后来启动报错了,就把粘贴出来查询了。最后才知道是因为本身不正常的关闭致使的这个状况。linux
--摘录:MongoDB非正常关闭后修复记录mongodb
mongod没有后台执行,在终端链接非正常断开后,再次执行mongod报错,以下所示:shell
32-bit servers don't have journaling enabled by default. Please use --journal if you want durability. windows
修复方法:post
这算是一个Mongod 启动的一个常见错误,非法关闭的时候,lock 文件没有干掉,第二次启动的时候检查到有lock 文件的时候,就报这个错误了。spa
解决方法:进入 mongod 上一次启动的时候指定的 data 目录 --dbpath=/data/mongodbserver
删除掉该文件:blog
rm /data/mongodb/mongo.lock --linux文档
del /data/mongodb/mongo.lock --windowsit
再执行:
./mongod --repair
启动:
/usr/local/src/mongodb-linux-x86_64-2.0.2/bin/mongod --port=27017 --pidfilepath=/var/run/mongod.pid --dbpath=/data/mongodb --directoryperdb --nojournal --noauth
OK,问题解决。
正确关闭mongod 的方法:进入mongo shell
use admin
db.shutdownServer()
也能够按照文档粗暴的杀掉它,它内部应该有KILL信号处理程序。
killall mongod
请不要 kill -9 ,会形成文件数据混乱丢失 repair 也无力回天。
ctrl+c 能够退出mongo的界面 或是ext