1. 程式人生 > >linux下MongoDB開機自啟動的問題

linux下MongoDB開機自啟動的問題

按照常理,把如下命令

/usr/local/mongodb/bin/mongod --dbpath=/data/db/ --fork --logpath=/data/log/m.log --directoryperdb

放在/etc/rc.local檔案中就可以實現開機自啟動了,第一次重啟機器發現mongodb順利啟動了,再次重啟機器後,通過ps沒有檢視到相應mongod程序,也就是啟動失敗了。原因是由於重啟機器,導致非正常停止mongod服務,mongod.lock中還記錄了上次執行的程序號,為了資料的安全需要執行 /usr/local/mongodb/bin/mongod –repair,當然如果直接把mongod.lock檔案刪除也可以重新啟動了,例如:

/usr/local/mongodb/bin/mongod --repair
/usr/local/mongodb/bin/mongod --dbpath=/data/db/ --fork --logpath=/data/log/m.log --directoryperdb

或
rm -rf /data/db/mongod.lock
/usr/local/mongodb/bin/mongod --dbpath=/data/db/ --fork --logpath=/data/log/m.log --directoryperdb

注意上述啟動Mongodb都是沒有增加journal引數,如果帶了此引數就不會那麼麻煩了,例如

/usr/local/mongodb/bin/mongod --dbpath=/data/db/ --fork --logpath=/data/log/m.log --directoryperdb --journal

就可以了,就算是非正常重啟機器,mongodb也會根據日誌去修復資料庫的。

另外,如果mongodb的資料目錄是通過mount的NFS資料夾,自啟動好像有問題的。