安裝 MongoDB 後首次啟動正常,二次啟動卻失敗,錯誤碼 2(文件不存在),隨後修復過程中又遇到 1607(進程意外終止)。
MongoDB 的「可執行文件路徑」仍指向已刪除的舊 mongod.exemongod.exe --remove --serviceName "MongoDB"
執行成功後,服務管理器中該服務消失。
mongod.exe --install --logpath="E:\Program Files\mongodb\data\log\log.txt" --dbpath="E:\Program Files\mongodb\data\db"
--logpath:日志文件完整路徑(目錄需預先存在)--dbpath:數據文件目錄(目錄需預先存在)打開 services.msc,確認「可執行文件路徑」指向新安裝目錄下的 mongod.exe。
服務路徑修正後啟動,報錯 1607。查看日志發現:
old lock file: E:\Program Files\mongodb\data\db\mongod.lock. probably means unclean shutdown
上次非正常關機(或進程被殺)導致 mongod.lock 未清理。MongoDB 啟動時檢測到鎖文件,為防止數據損壞拒絕啟動。
del "E:\Program Files\mongodb\data\db\mongod.lock"
刪除後重啟服務,成功運行。
mongod.exe --remove 卸載服務,再刪除文件--dbpath="E:\Program Files\..."--logpath 指定的文件是第一現場mongod.cfg + 系統服務管理,避免命令行參數維護困難