2014-05-01 73 views
76

我最近安装了mongodb-2.6.0和Homebrew。 成功安装后,我尝试使用mongo命令进行连接。我收到以下错误不容许我连接:无法连接到mongodb errno:61连接被拒绝

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 
+1

你确定mongod服务甚至在运行吗?你的配置文件有哪些配置选项? – amenadiel

+0

你使用sudo apt-get来安装吗?我读过关于遇到问题的人...尝试通过[MongoDB](https://www.mongodb.org/downloads)网站删除并下载。 – Hassan

+0

我安装了自制软件,官方网站上的说明没有说明我需要设置.config文件。我只是下载它,并运行导致上述错误的'mongoose'命令。 – Michael

回答

250

当mongodb服务未在mac上运行时会发生这种情况。要开始它,我试过

brew services start mongodb 

它工作。

编辑:根据这个PR上自制的讨论:https://github.com/Homebrew/homebrew/issues/30628

brew services已过时,我看了看周围的SO,发现这些答案,现在回答这个问题:What is the correct way to start a mongod service on linux/OS X?

+8

我得到这个命令的错误:“未知的命令:服务” – ZeMoon

+0

也可能这是因为在配置文件中,IP绑定到127.0.0.1,并且您与localhost连接。 –

+7

'brew services'不再支持:https://github.com/Homebrew/homebrew/issues/32006 – Vitaly

20

解决您的问题,您需要按照这些后,你用“酿造安装MongoDB的”通过BREW然后给你的指令。

要具有的launchd启动的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对我很好。我认为他们应该把这个包含在mongo文档中。

+0

我使用了最后一条命令,并在我的浏览器中访问了localhost/27017,屏幕显示'看起来您正试图通过本地驱动程序端口上的HTTP访问MongoDB。'这似乎并不正确...... – Michael

+0

Mongo现在运行正常吗?就像你可以在shell中输入** mongo **一样,你不再收到拒绝连接的消息?您将不会从浏览器访问mongo,您需要从cli中使用它。 – jh3y

+0

不,在我输入'mongod --config /usr/local/etc/mongod.conf'后shell中没有任何命令会执行。这很简单,只是一个空白提示。我没有使用自制软件重新停止,并从网站下载zip文件,将可执行文件移动到/ usr/local/bin,但现在我仍然收到相同的错误消息。 – Michael

4

我有同样的错误,但不同的根本原因。以为我会在这里发布解决方案,以防其他人遇到问题。在我运行mongorestore -d foo dump/foo/时,我的Mac未正确关闭后出现此错误。

TL;博士:我通过沿移除受损foo.ns文件解决了问题foo.0foo.1,...从我的数据文件夹/usr/local/var/mongodb/。然后我用brew services restart mongodb重新启动了mongo服务器,我恢复了正常。

详情:即使在尝试通过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文件和数据文件的其余部分,接下来的时间,我开始我很好的服务去。

+1

我唯一的遗憾是我只有一个upvote给予:所有其他的答案忽略了这个事实,默认的brew配置把dbs放在/ usr/local/var/mongodb中! – premiumFrye

+1

Annnddd Mongo再次坠毁,所以现在我不得不再次经历这个过程。好东西我upvoted你的答案,所以我可以再次找到它:D – premiumFrye

8

从命令行调用mongod时遇到同样的问题。

我解决了这个问题,而不是致电sudo mongod

26

我遇到了完全相同的问题,这里是一个清晰的一步一步的过程,以避免此错误。

步骤1 - 安装(不按照此步骤,如果你已经安装的MongoDB):

brew update 
brew install mongodb 

步骤2 - 蒙戈运行守护程序:

mkdir -p /data/db 
sudo mongod 

步骤3 - 运行Mongo Shell接口:

mongo 

在这个序列中,我能够运行mongo命令,没有任何错误。我还详细介绍了错误跟踪及其解决方案on this blog

+1

这也是在MongoDB的官方网页上引用:http://docs.mongodb.org/v2.2/tutorial/install-mongodb-on-os-x/ #run-mongodb –

+0

这个工作对我来说有一次......但是然后它倒下了:/这似乎已经做了诀窍:http://stackoverflow.com/a/22623543/1177832 – danwild

0

My guess is that you do not have a running database while trying to access testing through the "mongo" command.

First run this command in terminal:

mongod 

Then open another terminal window and run:

蒙戈

Everything should be working now.

3

我在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 
0

我类似的错误,删除“须藤RM /data/db/mongod.lock”文件试图运行mongod的解决。 现在你可以运行mongod然后运行mongo。

0

如果您已经安装了MongoDB,那么首先尝试以sudo用户身份运行mongod,但由于未以超级用户身份运行mongod,因此我遇到了问题。

我在最底层粘贴的O/P两个命令(的mongod须藤的mongod),您可以检查太多,但

首先尝试这种

sudo mongod 

不是这个

mongod 

我通过依次运行以下命令,在我的MAC OS X Sierra 10.12.6上安装了MongoDB。

brew update 
brew install mongodb --devel 
brew services start mongodb 

然后创建一个目录到mongod的过程中会写入数据,这是可选的,因为mongod的进程默认情况下需要它,请参阅https://docs.mongodb.com/manual/tutorial/install-mongodb-on-os-x/

sudo mkdir -p /data/db 

本有用的指南终于开始mongod的过程如下

sudo mongod 

Oputput mongod(失败)和sudo mongod(成功)命令在我的终端上。

MacBook-Pro-2:appscheck admin$ mongod 
2017-12-10T08:12:06.166+0530 I CONTROL [initandlisten] MongoDB starting : pid=2698 port=27017 dbpath=/data/db 64-bit host=MacBook-Pro-2.local 
2017-12-10T08:12:06.166+0530 I CONTROL [initandlisten] db version v3.4.10 
2017-12-10T08:12:06.166+0530 I CONTROL [initandlisten] git version: 078f28920cb24de0dd479b5ea6c66c644f6326e9 
2017-12-10T08:12:06.166+0530 I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.0.2n 7 Dec 2017 
2017-12-10T08:12:06.166+0530 I CONTROL [initandlisten] allocator: system 
2017-12-10T08:12:06.166+0530 I CONTROL [initandlisten] modules: none 
2017-12-10T08:12:06.166+0530 I CONTROL [initandlisten] build environment: 
2017-12-10T08:12:06.166+0530 I CONTROL [initandlisten]  distarch: x86_64 
2017-12-10T08:12:06.166+0530 I CONTROL [initandlisten]  target_arch: x86_64 
2017-12-10T08:12:06.166+0530 I CONTROL [initandlisten] options: {} 
2017-12-10T08:12:06.166+0530 I STORAGE [initandlisten] exception in initAndListen: 20 Attempted to create a lock file on a read-only directory: /data/db, terminating 
2017-12-10T08:12:06.166+0530 I NETWORK [initandlisten] shutdown: going to close listening sockets... 
2017-12-10T08:12:06.166+0530 I NETWORK [initandlisten] shutdown: going to flush diaglog... 
2017-12-10T08:12:06.167+0530 I CONTROL [initandlisten] now exiting 
2017-12-10T08:12:06.167+0530 I CONTROL [initandlisten] shutting down with code:100 


MacBook-Pro-2:appscheck admin$ sudo mongod 
Password: 
2017-12-10T08:12:14.084+0530 I CONTROL [initandlisten] MongoDB starting : pid=2700 port=27017 dbpath=/data/db 64-bit host=MacBook-Pro-2.local 
2017-12-10T08:12:14.084+0530 I CONTROL [initandlisten] db version v3.4.10 
2017-12-10T08:12:14.084+0530 I CONTROL [initandlisten] git version: 078f28920cb24de0dd479b5ea6c66c644f6326e9 
2017-12-10T08:12:14.084+0530 I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.0.2n 7 Dec 2017 
2017-12-10T08:12:14.084+0530 I CONTROL [initandlisten] allocator: system 
2017-12-10T08:12:14.084+0530 I CONTROL [initandlisten] modules: none 
2017-12-10T08:12:14.084+0530 I CONTROL [initandlisten] build environment: 
2017-12-10T08:12:14.084+0530 I CONTROL [initandlisten]  distarch: x86_64 
2017-12-10T08:12:14.084+0530 I CONTROL [initandlisten]  target_arch: x86_64 
2017-12-10T08:12:14.084+0530 I CONTROL [initandlisten] options: {} 
2017-12-10T08:12:14.084+0530 I STORAGE [initandlisten] wiredtiger_open config: create,cache_size=7680M,session_max=20000,eviction=(threads_min=4,threads_max=4),config_base=false,statistics=(fast),log=(enabled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000),checkpoint=(wait=60,log_size=2GB),statistics_log=(wait=0), 
2017-12-10T08:12:14.472+0530 I CONTROL [initandlisten] 
2017-12-10T08:12:14.472+0530 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database. 
2017-12-10T08:12:14.472+0530 I CONTROL [initandlisten] **   Read and write access to data and configuration is unrestricted. 
2017-12-10T08:12:14.472+0530 I CONTROL [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended. 
2017-12-10T08:12:14.472+0530 I CONTROL [initandlisten] 
2017-12-10T08:12:14.472+0530 I CONTROL [initandlisten] 
2017-12-10T08:12:14.472+0530 I CONTROL [initandlisten] ** WARNING: soft rlimits too low. Number of files is 256, should be at least 1000 
2017-12-10T08:12:14.560+0530 I FTDC  [initandlisten] Initializing full-time diagnostic data capture with directory '/data/db/diagnostic.data' 
2017-12-10T08:12:14.707+0530 I INDEX [initandlisten] build index on: admin.system.version properties: { v: 2, key: { version: 1 }, name: "incompatible_with_version_32", ns: "admin.system.version" } 
2017-12-10T08:12:14.707+0530 I INDEX [initandlisten]  building index using bulk method; build may temporarily use up to 500 megabytes of RAM 
2017-12-10T08:12:14.719+0530 I INDEX [initandlisten] build index done. scanned 0 total records. 0 secs 
2017-12-10T08:12:14.720+0530 I COMMAND [initandlisten] setting featureCompatibilityVersion to 3.4 
2017-12-10T08:12:14.720+0530 I NETWORK [thread1] waiting for connections on port 27017 

然后我打开新的终端开始查询MongoDB的,它的工作。

MacBook-Pro-2:appscheck admin$ mongo 
MongoDB shell version v3.4.10 
connecting to: mongodb://127.0.0.1:27017 
MongoDB server version: 3.4.10 
Welcome to the MongoDB shell. 
For interactive help, type "help". 
For more comprehensive documentation, see 
    http://docs.mongodb.org/ 
Questions? Try the support group 
    http://groups.google.com/group/mongodb-user 
Server has startup warnings: 
2017-12-10T08:12:14.472+0530 I CONTROL [initandlisten] 
2017-12-10T08:12:14.472+0530 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database. 
2017-12-10T08:12:14.472+0530 I CONTROL [initandlisten] **   Read and write access to data and configuration is unrestricted. 
2017-12-10T08:12:14.472+0530 I CONTROL [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended. 
2017-12-10T08:12:14.472+0530 I CONTROL [initandlisten] 
2017-12-10T08:12:14.472+0530 I CONTROL [initandlisten] 
2017-12-10T08:12:14.472+0530 I CONTROL [initandlisten] ** WARNING: soft rlimits too low. Number of files is 256, should be at least 1000 
> show dbs; 
admin 0.000GB 
local 0.000GB 
> use practice 
switched to db practice 
> 

就是这样。

0

我用自制软件升级到mongo 3.6后出现这个错误。

日志/usr/local/var/log/mongodb/mongo.log包含消息shutting down with code:62。这个错误代码意味着现有的数据库太旧,无法与当前版本的mongo一起运行。

我发现2个解决方案的另一个SO question

  • 删除你的数据库文件夹(/usr/local/var/mongodb
  • 或者按照upgrade procedure

我选择升级。就我而言,这意味着我必须降级到3.4,在mongo控制台中运行命令,然后再次升级。 Mongo要求你一次升级一个主要版本,所以根据你的背后有多远,可能会有额外的步骤。文档将引导您。

brew switch *brew services restart命令在各版本之间交换相对无痛。

相关问题