2011-10-17 208 views
9

我的服務器從一個電氣故障便下去,幾秒鐘可怕的,我想我失去了所有的MongoDB數據。然後我意識到,當服務器重新啓動時,mongo會在沒有--dbpath選項的情況下自動重新啓動。MongoDB路徑更改?

我不明白爲什麼,即使我的mongodb.conf將dbpath設置爲/ var/lib/mongodb,mongo在啓動時查找了/ data/db中的db文件。任何人都可以對此有所瞭解嗎?

謝謝!

+0

你使用哪種操作系統? – UpTheCreek

+0

這臺服務器上的Ubuntu 11.10 –

回答

9

/data/dbmongod將尋找數據文件,如果啓動不帶任何選項中的默認路徑。您的啓動腳本是否指示mongod加載正確的配置文件?如果不是,那就可以解釋這種行爲。

+0

這是我幾周前結束的解決方案。對不起,不要更早更新線索 - 感謝您的貢獻=) –

2

你一定要確保在蒙戈你的初始化腳本包括完整路徑數據目錄。下面是我們在我們的生產部署中使用的代碼段:

ulimit -s unlimited 

MONGO_USER=mongo 
MONGO_HOME=/opt/mongo 
MONGO_DATA=/san2/data 
MONGO_LOGS=/home/mongo/logs 


start() { 
    su $MONGO_USER -c "$MONGO_HOME/bin/mongod --master --fork --logpath $MONGO_LOGS/mongodb.log --logappend --dbpath $MONGO_DATA --maxConns 2400" 
} 
3

當是你最後一次在系統上更新的mongod?你是如何更新它的?

取決於你如何安裝/更新的mongod是可能發生的無論是/etc/init.d/mongo腳本或/etc/mongo.conf文件可能會被覆蓋。

或某人編輯這些文件很久以前,這是第一次蒙戈得到了重新啓動,現在它看起來像有突然的變化。

我還沒有看到任何的這兩件事情發生在很長一段時間(但如果你使用Gentoo,你可能會看到這樣的情況)

你用什麼操作系統?

這是一個好主意,讓這些文件的備份...

1

檢查在啓動選項/etc/default/mongodb最有可能的,當你開始它會被設置爲/data/db,而不是你選擇了一個默認的路徑手動。