2011-10-17 209 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,而不是你选择了一个默认的路径手动。