安装mongoDB(子进程失败,退出错误号为100)

Jun*_* Oh 20 macos install mongodb

我试着在macbook air上安装mongoDB.

我从官方网站下载了压缩文件并提取该文件并移至根目录.之后,在该目录下,我创建了/ data/db和/ log文件夹.

这是我的mongodb.config描述我的数据库的基本配置.

dbpath = /mongodb/data/db
logpath = /mongodb/log/mongo.log
logappend = true
#bind ip = 127.0.0.1
port = 27017

fork = true
rest = true
verbose = true
#auth = true
#noauth = true
Run Code Online (Sandbox Code Playgroud)

另外,我想知道#配置文件中的含义.

我把这个文件放到/mongodb/bin,/mongodb是我将文件解压缩到的目录.

我打开了终端并进入了./mongod --config mongodb.config,我把它拿回来了.

Juneyoung-ui-MacBook-Air:bin juneyoungoh$ ./mongod --config mongodb.config
about to fork child process, waiting until server is ready for connections.
forked process: 1775
all output going to: /mongodb/log/mongo.log
ERROR: child process failed, exited with error number 100
Run Code Online (Sandbox Code Playgroud)

我该如何处理这个错误以及这意味着什么?

Fra*_*bot 28

您创建的数据文件夹很可能是创建的sudo,是吗?它们root由普通用户拥有并且不可写.如果您是macbook的唯一用户,请将目录的所有权更改为:

sudo chown juneyoungoh /data
sudo chown juneyoungoh /data/db
sudo chown juneyoungoh /data/log
Run Code Online (Sandbox Code Playgroud)

如果您打算在公共机器或合法的地方安装它,那么请阅读有关其他地方的mongo安全实践的更多信息.我会让你在你的macbook上运行.


小智 12

我有一个类似的问题,它与任何'sudo'问题无关.我试图从内核恐慌中恢复过来!

当我查看我的数据文件夹时,我发现有一个mongod.lock文件.在我的例子中,这个页面有很多帮助:http://docs.mongodb.org/manual/tutorial/recover-data-following-unexpected-shutdown/.他们解释说,

如果mongod.lock不是零字节文件,那么mongod将拒绝启动.

我在我的环境中测试了这个解决方案,它完美地工作:

  1. 删除mongod.lock文件.
  2. 修复数据库: mongod --dbpath /your/db/path --repair
  3. 运行mongod: mongod --dbpath /your/db/path


bur*_*ner 9

我的机器上出现了同样的问题.在日志文件中:

Mon Jul 29 09:57:13.689 [initandlisten]错误:日志文件的可用空间不足
Mon Jul 29 09:57:13.689 [initandlisten]请在/ var/mongoexp/rs2/journal中至少提供3379MB或使用--smallfiles

它是通过使用解决的mongod --smallfiles.或者,如果使用--config选项启动mongod而不是配置文件,则禁用预写日记nojournal=true(删除开头#).更多的磁盘空间也可以解决上述问题.