当我尝试在终端中运行“mongod”时,我收到以下错误。我尝试卸载,重新安装和重新启动计算机。关于如何让它工作的任何建议都会很棒。
错误:
dbpath (/data/db) does not exist.
Create this directory or give existing directory in --dbpath.
See http://dochub.mongodb.org/core/startingandstoppingmongo
旁注: 节点也在我收到此错误的同时停止在我的机器上工作。
events.js:72
throw er; // Unhandled 'error' event
^
Error: failed to connect to [localhost:27017]
非常感谢任何帮助!
答案 0 :(得分:179)
这应该可以确保在正确的位置设置目录,以便Mongo可以找到它:
sudo mkdir -p /data/db/
sudo chown `id -u` /data/db
答案 1 :(得分:14)
答案 2 :(得分:6)
我用以下方法解决了问题:
sudo mongod --dbpath=/var/lib/mongodb
然后mongo访问mongodb Shell。
答案 3 :(得分:2)
更改新数据目录的用户:
chown mongodb [rute_directory]
并尝试另一次启动mongo服务
service mongod start
我用这个解决了同样的问题。
答案 4 :(得分:1)
守护进程(通常以d结尾)通常作为服务启动。启动服务(守护进程)将允许mongodb按设计工作(如果与发行版集成良好,则无权限更改)。我使用名为mongodb的服务启动它,而不是直接启动mongod - 在启动时使用systemd enable启动发行版然后运行如下:
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:
mongod_enable = “YES”
然后:
sudo service mongod start
启动服务后,未成熟的用户可以使用mongo,每个用户都有单独的数据。