MongoDB错误32-bit servers don't have journaling enabled by default解决方法
每次启动MongoDB时总是会收到如下Uncleanshutdown提示,总结了一下出现该问题的原因及解决方法。
提示如下:
************** D:\GREENT~1\PowerCmd>mongod--auth-dbpathC:\mongo\MongoDB\mongo\data WedMay1616:06:50 WedMay1616:06:50warning:32-bitserversdon'thavejournalingenabledbydefault.Pleaseuse--journalifyouwantdurability. WedMay1616:06:50 WedMay1616:06:50[initandlisten]MongoDBstarting:pid=5016port=27017dbpath=C:\mongo\MongoDB\mongo\data32-bithost=mxh WedMay1616:06:50[initandlisten] WedMay1616:06:50[initandlisten]**NOTE:whenusingMongoDB32bit,youarelimitedtoabout2gigabytesofdata WedMay1616:06:50[initandlisten]** seehttp://blog.mongodb.org/post/137788967/32-bit-limitations WedMay1616:06:50[initandlisten]** with--journal,thelimitislower WedMay1616:06:50[initandlisten] WedMay1616:06:50[initandlisten]dbversionv2.0.1,pdfileversion4.5 WedMay1616:06:50[initandlisten]gitversion:3a5cf0e2134a830d38d2d1aae7e88cac31bdd684 WedMay1616:06:50[initandlisten]buildinfo:windows(5,1,2600,2,'ServicePack3')BOOST_LIB_VERSION=1_42 WedMay1616:06:50[initandlisten]options:{auth:true,dbpath:"C:\mongo\MongoDB\mongo\data"} ************** Uncleanshutdowndetected. Pleasevisithttp://dochub.mongodb.org/core/repairforrecoveryinstructions. ************* WedMay1616:06:51[initandlisten]exceptionininitAndListen:12596oldlockfile,terminating WedMay1616:06:51dbexit: WedMay1616:06:51[initandlisten]shutdown:goingtocloselisteningsockets... WedMay1616:06:51[initandlisten]shutdown:goingtoflushdiaglog... WedMay1616:06:51[initandlisten]shutdown:goingtoclosesockets... WedMay1616:06:51[initandlisten]shutdown:waitingforfspreallocator... WedMay1616:06:51[initandlisten]shutdown:closingallfiles... WedMay1616:06:51[initandlisten]closeAllFiles()finished WedMay1616:06:51dbexit:reallyexitingnow
经过多次测试发现,造成这种情况的原因是我使用PowerCMD启动MongoDB之后直接关掉PowerCMD窗口之后造成的,如果在关闭PowerCMD窗口之前使用[ctrl+c]快捷键终止mongod的运行也不会出现此种情况。而且,使用普通的CMD窗口运行mongo命令即使直接关掉窗口也不会出现该问题,看来还是使用原生程序更靠谱。
发生了此种情况解决方法也很简单,使用如下参数repair即可:
mongod--auth-dbpathC:\mongo\MongoDB\mongo\data--repair
然后重新启动即可:
D:\GREENT~1\PowerCmd>mongod--auth-dbpathC:\mongo\MongoDB\mongo\data WedMay1616:44:35 WedMay1616:44:35warning:32-bitserversdon'thavejournalingenabledbydefault.Pleaseuse--journalifyouwantdurability. WedMay1616:44:35 WedMay1616:44:35[initandlisten]MongoDBstarting:pid=9616port=27017dbpath=C:\mongo\MongoDB\mongo\data32-bithost=mxh WedMay1616:44:35[initandlisten] WedMay1616:44:35[initandlisten]**NOTE:whenusingMongoDB32bit,youarelimitedtoabout2gigabytesofdata WedMay1616:44:35[initandlisten]** seehttp://blog.mongodb.org/post/137788967/32-bit-limitations WedMay1616:44:35[initandlisten]** with--journal,thelimitislower WedMay1616:44:35[initandlisten] WedMay1616:44:35[initandlisten]dbversionv2.0.1,pdfileversion4.5 WedMay1616:44:35[initandlisten]gitversion:3a5cf0e2134a830d38d2d1aae7e88cac31bdd684 WedMay1616:44:35[initandlisten]buildinfo:windows(5,1,2600,2,'ServicePack3')BOOST_LIB_VERSION=1_42 WedMay1616:44:35[initandlisten]options:{auth:true,dbpath:"C:\mongo\MongoDB\mongo\data"} WedMay1616:44:35[initandlisten]waitingforconnectionsonport27017 WedMay1616:44:35[websvr]adminwebconsolewaitingforconnectionsonport28017
还有一些情况会造成这种Uncleanshutdown,解决方法可参考官方文档:
http://www.mongodb.org/display/DOCS/Durability+and+Repair