MongoDB无法启动。

3

几天前我在我的Ubuntu机器上安装了MongoDB,一直使用得很好。但今天我不得不重新启动电脑后,Mongo就无法启动了,显示以下信息:

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

几个小时前,它还可以正常工作,现在重启后就全都乱了。我有很多重要的数据存储在里面,我真的希望它们不是全部丢失了!我需要找到那些数据并再次运行MongoDB。我使用pymongo与MongoDB进行交互。

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

4个回答

7
您可以使用以下开关启动mongodb。
mongod --dbpath /path/to/mongodb/data

或者编辑配置文件。
/etc/mongod.conf

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

dbpath = /path/to/mongodb/data

配置文件可以添加和修改的内容很多,想要了解更多,请点击这里查看详细信息。

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

mkdir -p data/{db}

尝试了上述方法,确实有效,但是我不得不导航到MongoDB安装目录下的bin文件夹,并使用"./mongod"命令而不是简单地使用"mongod"命令。 - isaac weathers
以前的数据可以恢复吗? - Rohit Kumar

3
使用以下命令启动mongod:
sudo service mongodb start

这将把你的系统配置文件作为参数传递给mongod,这样它就会使用正确的路径(如你所见)。

哇,这对我有用(在Debian上),我一直以为/etc/init.d/mongodb start是一样的东西,显然不是,谢谢! - Thomas Decaux

1

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


0
这个错误的原因之一可能是你以自己的用户身份启动了mongodb。如果你使用sudo命令执行该命令,mongodb应该可以正常启动,不会出现错误。
sudo mongod --dbpath /path/to/mongodb/data

可以在文件中找到mongodb数据的路径,例如/etc/mongod.conf


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接