【问题标题】:Can't start MongoDB on OSX无法在 OSX 上启动 MongoDB
【发布时间】:2016-03-09 21:48:07
【问题描述】:

我正在尝试在 OSX 上运行 MongoDB,但遇到了一个常见问题,退出代码 1 出错。

这是我非常简单的 mongod.conf:

systemLog:
  destination: file
  logAppend: true
  path: ~/Documents/test/mongodb/mongodb.log

storage:
  directoryPerDB: true
  dbPath: ~/Documents/test/mongodb/mongodb_data
  journal:
    enabled: true

processManagement:
  fork: true  # fork and run in background

net:
  port: 27017

我 777 处理了所有文件夹,所以这不可能是权限问题(对吗?:P)

mac$ ls -lah ~/Documents/test/mongodb/
total 8
drwxr-xr-x   5 mac  staff   170B Dec  4 15:34 .
drwxr-xr-x  11 mac  staff   374B Dec  4 15:19 ..
-rwxrwxrwx   1 mac  staff   301B Dec  4 15:21 mongod.conf
-rwxrwxrwx   1 mac  staff     0B Dec  4 15:21 mongodb.log
drwxrwxrwx   2 mac  staff    68B Dec  4 15:18 mongodb_data

但它仍然得到这个错误代码!

mac$ sudo mongod -f ~/Documents/test/mongodb/mongod.conf 
about to fork child process, waiting until server is ready for connections.
forked process: 70062
ERROR: child process failed, exited with error number 1

我从其他问题中尝试过的事情:

  1. 显然我不应该将它作为 sudo (?) 运行,我尝试了 sudo 和没有 sudo,结果相同
  2. 可能是权限问题 (Starting mongod fails unless run as root) - mongodb_data 目录以及 conf 和日志都是 777,所以真的是这样吗?我也尝试过chown,但没有效果。
  3. 删除 mongod.conf 中的 pid 位置(完成,没有任何效果)Starting mongod fork, ERROR: child process failed, exited with error number 1

还有:

  • 多次启动尝试后,mongodb.log 中没有任何内容
  • mongodb_data/ 中也没有任何内容(没有 .lock 文件或其他任何内容,只是空的)

有什么想法吗?

【问题讨论】:

  • 下一步我会尝试在没有配置文件的情况下运行 mongod。运行“mongod --dbpath DB_PATH”,将 DB_PATH 替换为您的实际 dbpath。我也会使用绝对路径,而不是使用“~”作为日志和 dbpath 的基础。
  • 将路径更改为绝对路径而不是相对路径没有任何效果。但是,从命令行调用整个事情似乎是这样的: sudo mongod --dbpath /Users/mac/Documents/test/mongodb/mongodb_data/ --fork --logpath /Users/mac/Documents/test/mongodb/ mongodb.log - 但为什么不使用 conf 文件?

标签: macos mongodb permissions


【解决方案1】:

这可能是日志文件的错误。奇怪的是你的是 0 字节。 无论如何,您不需要设置 777 权限,也不需要在 OSX 系统上使用 sudo 运行 mongod。 尝试执行以下操作:

  1. mkdir ~/sometest
  2. cd ~/sometest
  3. cp ~/Documents/test/mongodb/mongod.conf .
  4. 将systemLog路径替换为mongodb.log,将dbpath替换为数据
  5. mkdir 数据
  6. 启动 mongod (mongod -f mongod.conf)

【讨论】:

  • 感谢您的建议。已经尝试过了,但又遇到了另一个错误: mac$ mkdir ~/sometest mac$ cd ~/sometest/ mac$ cp ~/Documents/test/mongodb/mongod.conf 。 mac$ vim mongod.conf mac$ mkdir data mac$ mongod -f mongod.conf 即将 fork 子进程,等待服务器准备好连接。分叉进程:73375 错误:子进程失败,以错误号 14 退出(编辑:它破坏了我的格式)
猜你喜欢
  • 2015-02-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-13
  • 2017-03-22
相关资源
最近更新 更多