黄舟2017-04-27 09:04:59
首先,mongod.lock
是mongo
服务端启动后在硬盘中创建的一个锁文件,如果你正常退出mongod
服务,该文件即使还存在,也不会影响下一次启动mongod
服務的。同時,這個檔案也會記錄mongod在運作過程中的一些狀態,以便在正常重新啟動服務時能夠取得異常訊息提示。
注意:一般只有在非正常退出mongod
服务时,才需要删除mongod.lock
文件。正常退出,無需刪除。
現在資料遺失,應該是非正常退出,即資料庫崩潰,如果沒有开启journal
,那麼就沒辦法保證資料的完整性了。
所以在生產環境中通常都會开启journal
。
如果資料沒有備份,只能試試使用mongod內建的修復,執行mongod
加上--repair
選項:
mongod --dbpath /path/to/corrupt/data --repair
mongod.lock
檔案? 當正常關閉mongod時,會清除mongod.lock文件,下次啟動時知道上次是完全關閉的。相反,如果lock檔案沒有被清除,mongod沒有正常的關閉。
如果mongod偵測到沒有正常的關閉,不會讓你再次啟動,啟動時會列印上次異常關閉的訊息,需要你複製一份資料。然而,有些人已經意識到,可以透過刪除這個lock檔案來繞過這個檢查。所以就有了刪除這個檔案的原因。在啟動時刪除lock檔案意味著你不知道或不關心你的資料是否已經損壞。如果無法啟動mongod,請修復你的數據,而不是刪除lock檔案。