MongoDB-启动的时候出现了问题
之前MongoDB启动的时候是正常的,不知道后来启动报错了,就把粘贴出来查询了。最后才知道是由于自己不正常的关闭导致的这个情况。
--摘录:MongoDB非正常关闭后修复记录
mongod没有后台执行,在终端连接非正常断开后,再次执行mongod报错,如下所示:
2015-03-09T20:39:20.172+0800 2015-03-09T20:39:20.172+0800 warning: 32-bit servers don‘t have journaling enabled by default. Please use --journal if you want durability. 2015-03-09T20:39:20.172+0800 about to fork child process, waiting until server is ready for connections. forked process: 14229 ERROR: child process failed, exited with error number 100
修复方法:
这算是一个Mongod 启动的一个常见错误,非法关闭的时候,lock 文件没有干掉,第二次启动的时候检查到有lock 文件的时候,就报这个错误了。
解决方法:进入 mongod 上一次启动的时候指定的 data 目录 --dbpath=/data/mongodb
删除掉该文件:
rm /data/mongodb/mongo.lock --linux
del /data/mongodb/mongo.lock --windows
再执行:
./mongod --repair
启动:
/usr/local/mongodb$ /usr/local/mongodb/mongod -dbpath=/data/mongodb --fork --port 27017 --logpath=/usr/local/mongodb/log/work.log --logappend --auth
OK,问题解决。
正确关闭mongod 的方法:进入mongo shell
use admin
db.shutdownServer()
也可以按照文档粗暴的杀掉它,它内部应该有KILL信号处理程序。
killall mongod
请不要 kill -9 ,会造成文件数据混乱丢失 repair 也无力回天。
ctrl+c 可以退出mongo的界面 或是ext
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。