Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb 无法运行Mongo shell(Mac)_Mongodb_Terminal_Homebrew_Locomotivecms - Fatal编程技术网

Mongodb 无法运行Mongo shell(Mac)

Mongodb 无法运行Mongo shell(Mac),mongodb,terminal,homebrew,locomotivecms,Mongodb,Terminal,Homebrew,Locomotivecms,我是网络开发新手,我想开始一些RoR(使用机车CMS) 机车公司要求的一件事就是拥有Mongodb。我通过以下链接使用自制软件安装 它安装得很好,但我无法运行它 当我在终端上键入“mongo”时,我得到以下输出: "MongoDB shell version: 2.4.3 connecting to: test Mon May 6 11:12:28.927 JavaScript execution failed: Error: couldn't connect to server

我是网络开发新手,我想开始一些RoR(使用机车CMS)

机车公司要求的一件事就是拥有Mongodb。我通过以下链接使用自制软件安装

它安装得很好,但我无法运行它

当我在终端上键入“mongo”时,我得到以下输出:

"MongoDB shell version: 2.4.3
connecting to: test
Mon May  6 11:12:28.927 
JavaScript execution failed: 
Error: couldn't connect to server        
127.0.0.1:27017 at   src/mongo/shell/mongo.js:L112
exception: connect failed"
后台帮助调试(在终端上):

1.当我输入mongod时,我得到以下信息:

"all output going to: /usr/local/var/log/mongodb/mongo.log"
about to fork child process, waiting until server is ready for connections.
forked process: 77566
all output going to: /usr/local/var/log/mongodb/mongo.log
ERROR: child process failed, exited with error number 100
mongo.log的所有权:

-rw-r--r--  1 username  admin  22133 May  6 11:13 mongo.log
2.当我输入mongod--fork时,我得到以下结果:

"all output going to: /usr/local/var/log/mongodb/mongo.log"
about to fork child process, waiting until server is ready for connections.
forked process: 77566
all output going to: /usr/local/var/log/mongodb/mongo.log
ERROR: child process failed, exited with error number 100
3.键入mongod--help会给出以下警告:

* WARNING: soft rlimits too low. Number of files is 256, should be at least 1000
4.我在数据文件夹的根目录(路径:/data)中有一个名为data的文件夹(充当amongodb数据库,它应该在这里吗?):

 "drwxr-xr-x   3 username  wheel       102 Apr 23 21:38 data"
5.检查端口是否空闲:lsof-i:27017。我还尝试使用activity montior检查正在运行的mongo进程,发现了Zlich

No output
6.我也试过:mongo——修理。救命啊

我对此已经研究了一段时间,我查看了关于stackoverflow的大多数回复,并四处搜索以找到解决方案,但到目前为止没有任何帮助

更新:

当我尝试启动mongo shell时,我得到了以下结果 来自mongo.log的日志消息:

5/6/13 1:33:27.616 PM com.apple.launchd: 
(org.mongodb.mongod[79133])          
open("/private/var/log/mongodb/output.log", ...): Permission denied
所以我为特定的文件夹和shell启动做了一个chmod777

虽然当它以以下方式启动时,我仍然收到警告:

Server has startup warnings: 
Mon May  6 13:33:27.693 [initandlisten] 
Mon May  6 13:33:27.693 [initandlisten] 
** WARNING: soft rlimits too low. 
Number of files is 256, should be at least 1000

您知道如何使这些警告静音吗?

要获得确定故障原因所需的信息,您需要在
/usr/local/var/log/mongodb/mongo.log
尝试启动时查看(并为我们发布)输出

但是,失败的最常见原因是缺少默认的数据库路径-at
/data/db
。创建该文件夹(别忘了确保用户有读/写权限),或者使用
--dbpath
选项指定其他路径

更新:正如您后来发现的,日志文件上的错误权限可能会导致问题,这与数据路径上的错误权限类似

关于警告,您需要的信息如下:


不过,这只是一个警告——只要MongoDB不处于重载状态,您就可以运行MongoDB而不会出现这些限制问题。因此,如果这是一个开发环境,除非您计划进行负载测试,否则您应该很好

Adam,谢谢您的回复!我按照你的建议查找mongo.log,它成功了!似乎我的日志文件位于别处,它没有权限(我已经用我的发现更新了我的问题)。尽管仍然有警告!请看我更新的问题!