无法连接到mongodb errno:61连接被拒绝
我最近用Homebrew安装了mongodb-2.6.0。 成功安装后,我尝试使用mongo
命令进行连接。 我收到以下错误,不允许我连接:
Failed to connect to 127.0.0.1:27017, reason: errno:61 Connection refused Error: couldn't connect to server 127.0.0.1:27017 (127.0.0.1), connection attempt failed at src/mongo/shell/mongo.js:146 exception: connect failed
当mongodb服务没有在mac上运行时,可能会发生这种情况。 开始吧,我试了一下
brew services start mongodb
它的工作。
编辑:根据这个关于自制的PR的讨论: https : //github.com/Homebrew/homebrew/issues/30628
brew services
被弃用,我环顾四周,发现这些答案现在回答这个问题: 在linux / OS X上启动mongod服务的正确方法是什么?
我遇到了完全相同的问题,这里是一个清晰的一步一步的过程,以避免这个错误。
第1步 – 安装(如果您已经安装了MongoDB,请不要执行此步骤):
brew update brew install mongodb
第2步 – 运行Mongo Daemon:
mkdir -p /data/db sudo mongod
步骤3 – 运行Mongo Shell界面:
mongo
在这个序列中,我能够无误地运行mongo
命令。 我也详细介绍了这个博客上的错误跟踪及其解决scheme。
为了解决您的问题,您需要按照使用“brew install mongodb”后,通过brew进行的指导。
要login时启动mongodb:
ln -sfv /usr/local/opt/mongodb/*.plist ~/Library/LaunchAgents
然后现在加载mongodb:
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist
或者,如果您不想/需要launchctl,则可以运行:
mongod --config /usr/local/etc/mongod.conf
你可能只能运行最后一个命令,但它不适用于我,我需要运行第二个命令。 为了将来拯救我。 我只是跑了第一个命令。 希望有所帮助!
编辑 Hrishi的使用brew services mongodb start
的方法brew services mongodb start
工作对我很好。 我想他们应该把这个包含在mongo文档中。
在另一个选项卡中,可以使用启动mongo shell
的mongod
然后返回到上一个标签,然后重试。 如果您在设置mongoshell时遇到困难,请查看mongo shell上的链接: http: //docs.mongodb.org/manual/tutorial/manage-mongodb-processes/或者这个链接安装mongodb: http:/ /docs.mongodb.org/manual/tutorial/install-mongodb-on-os-x/
从命令行调用mongod
时遇到同样的问题。
我通过调用而不是sudo mongod
来解决这个问题。
我有同样的错误,但不同的根本原因。 以为我会在这里发布解决scheme,以防其他人遇到问题。 当我在运行mongorestore -d foo dump/foo/
Mac不正确closures后,出现此错误。
tl; dr :我通过从我的数据文件夹/usr/local/var/mongodb/
删除损坏的foo.ns
文件以及foo.0
, foo.1
…来解决了这个问题。 然后我用brew services restart mongodb
mongo服务器, brew services restart mongodb
,我恢复了正常。
详细信息 :即使尝试通过brew或launchctl启动或重新启动mongodb服务,我仍然收到错误。 最后我运行了mongod --dbpath /usr/local/var/mongodb
,看到这个服务并没有真正启动,启动顺序包含下面的错误: [initandlisten] bad .ns file: /usr/local/var/mongodb/foo.ns [initandlisten] User Assertion: 10079:bad .ns file length, cannot open database
我摆脱了糟糕的.ns
文件和其余的数据文件,下一次我开始服务,我很好走。
对于我在OSX上,我不得不杀死旧的运行实例,然后重新开始工作。
$>ps -aef | grep mongo 502 8047 1 0 11:52AM ?? 0:00.23 /usr/local/opt/mongodb/bin/mongod --config /usr/local/etc/mongod.conf $>sudo kill 8047 $>sudo mongod
我的猜测是,当您尝试通过“mongo”命令访问testing时,您没有正在运行的数据库。
首先在terminal运行这个命令:
mongod
然后打开另一个terminal窗口并运行:
蒙戈
一切都应该现在工作。
我尝试运行mongod时删除了“sudo rm /data/db/mongod.lock”文件,解决了类似的错误。 现在你可以运行mongod然后mongo。