以前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