MongoDB 不工作。“ ERROR: dbpath (/data/db)不存在。”

当我尝试在终端中运行“ monGod”时,出现以下错误。我试过卸载、重新安装和重新启动机器。任何关于如何让它工作的建议都是令人惊讶的。

错误:

dbpath (/data/db) does not exist.
Create this directory or give existing directory in --dbpath.
See http://dochub.mongodb.org/core/startingandstoppingmongo

边注: 在我得到这个错误的同时,Node 也停止了在我的机器上的工作。

events.js:72
throw er; // Unhandled 'error' event
^
Error: failed to connect to [localhost:27017]

任何帮助都将不胜感激!

89971 次浏览

您需要在 root/data/db 上创建目录,或者使用以下命令设置任何其他路径:

mongod --dbpath /srv/mongodb/

参见示例链接

这样可以确保目录设置在正确的位置,以便 Mongo 可以找到它:

sudo mkdir -p /data/db/

sudo chown `id -u` /data/db

更改新数据目录的用户:

Chown mongodb [ rute _ directory ]

再找个时间开始蒙戈服务

服务蒙神开始

我用这个解决了同样的问题。

我用以下方法解决了这个问题:

然后使用 mongo 访问 mongodb Shell。

守护进程(通常以 d 结尾)通常作为服务启动。启动服务(守护进程)将允许 mongodb 按照设计工作(如果与您的发行版集成良好,则不需要更改权限)。我使用名为 mongodb 的服务来启动它,而不是直接启动 mongod ——在发行版上启用 systemd able,然后像这样运行:

sudo systemctl enable mongodb
sudo systemctl start mongodb

或者,在 upstart (如果有/etc/init)或 init (如果有/etc/init.d)(https://www.tecmint.com/systemd-replaces-init-in-linux/)的发行版上运行:

sudo service mongodb enable
sudo service mongodb start

如果你有一个 rc (“运行命令”)的发行版,比如 Gentoo (/etc/init.d 中的设置)(https://forums.gentoo.org/viewtopic-t-854138-start-0.html) ,运行:

rc-update add mongodb default
/etc/init.d/mongodb start

在仍然有 rc 的 FreeBSD 发行版/版本中(检查你的版本是否切换到 systemd,否则参见下面) :

  • 将以下代码行添加到/etc/rc.conf:

    “是的”

  • 然后:

    sudo service mongod start

启动服务后,非特权用户可以使用 mongo,每个用户将拥有单独的数据。

当我试图使用“ mkdir-p/data/db”命令(同时使用 sudo 命令和不使用 sudo 命令)保存文件时,还出现了“文件/data/db 不存在”的错误。但后来在一个网站上,一个名叫埃米尔的人回答说,路径“/data/db”在 Mac 上不再有效,所以使用“ ~/data/db”代替 例如,使用命令 Mkdir-p ~/data/db 而不是之前的命令。 此外,使用 MonGod —— dbpath ~/data/db 来管理蒙神 这对我有用,希望对其他面临同样问题的人也有用