linux下MongoDB開機自啟動的問題
阿新 • • 發佈:2019-02-09
按照常理,把如下命令
/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資料夾,自啟動好像有問題的。