2012-09-12 77 views
2

我几天前在我的ubuntu机器上安装了mongodb,我没有任何问题使用它。今天我不得不重新启动我的电脑。之后,mongo根本不会开始。它说:Mongodb没有启动

Wed Sep 12 21:41:21 [initandlisten] exception in initAndListen: 10296 dbpath (/data/db/) does not exist, terminating 

这只是几个小时前工作正常,现在这一切都在重新启动搞砸了。我有很多重要的数据存储在那里,我真的希望它不会全部丢失!我需要再次找到该数据并对该数据运行mongodb。我使用pymongo来与mongodb进行交互。

我刚刚看到配置文件,它将数据作为dpath存储在/ var/lib/mongod中。现在我该如何启动指定此dpath的mongodb?

回答

7

可以使用以下开关启动mongodb。

mongod --dbpath /path/to/mongodb/data 

或编辑配置文件。

/etc/mongod.conf 

将dbpath更改为您的数据目录。

dbpath = /path/to/mongodb/data 

还有很多更可以添加和配置文件变更手续here了解更多详情。

使用此命令来创建您的目录树。

mkdir -p data/{db} 
+0

试过了上面的,它的工作,但不得不导航到我的斌在哪里安装mongo和使用./mongod而不是只是mongod –

+0

是以前的数据可以恢复? –

1

你需要一个路径来存储你的数据库。默认情况下它是/data/db/。如果它不存在,则必须先创建它

+0

烨路径,^是问题。 +1 – Kyle

3

使用下面的命令来启动的mongod:

sudo service mongodb start 

这将通过您的系统配置文件作为参数,以mongod的,它(如你看到的),则它会使用正确的路径。

+0

Woaaa这工作对我来说(在debian上),我一直认为/etc/init.d/mongodb start是同样的东西,显然不是,谢谢! –

0

出现此错误的原因之一可能是您正在以用户身份启动mongodb。如果您有须藤执行命令,MongoDB的应该开始而不会出现错误:

sudo mongod --dbpath /path/to/mongodb/data 

人们可以发现到MongoDB的文件数据,如/etc/mongod.conf