लॉग फ़ाइल आपको बता रही है कि आपके पास एक "पुरानी लॉक फ़ाइल" . है . मोंगोडीबी चलने के दौरान लॉक फ़ाइल रखता है। यह फ़ाइल शुरू होने पर बनाता है, और बंद होने पर इसे हटा देता है। जब कंप्यूटर क्रैश हो जाता है (या MongoDB क्रैश हो जाता है, जैसे kill
. के माध्यम से ), यह फ़ाइल हटाई नहीं जाती है, और इस प्रकार डेटाबेस प्रारंभ नहीं होता है। इस फ़ाइल का अस्तित्व MongoDB के अशुद्ध शटडाउन को इंगित करता है।
दो काम किए जा सकते हैं:
-
यदि यह एक विकास मशीन है और आप अपने डेटाबेस का उपयोग नहीं कर रहे हैं (और न ही आपके प्रोग्राम हैं), तो आप फ़ाइल को मैन्युअल रूप से हटा सकते हैं। Ubuntu 12.10 पर चल रहे MongoDB 2.2.2 के लिए, यह
/var/lib/mongodb/mongod.lock
में है . अन्य संस्करणों के लिए, फ़ाइल किसी भिन्न पथ में हो सकती है या इसका नामmongo.lock
. हो सकता है । -
मोंगोडीबी की स्थायित्व और मरम्मत मार्गदर्शिका का पालन करना सुरक्षित मार्ग है। संक्षेप में, उपरोक्त कॉन्फ़िगरेशन वाली मशीन के लिए, आपको निम्नलिखित कमांड निष्पादित करनी चाहिए:
sudo -u mongodb mongod --repair --dbpath /var/lib/mongodb/ sudo service mongod start