Macos 无法连接到mongodb错误号:61连接被拒绝

Macos 无法连接到mongodb错误号:61连接被拒绝,macos,mongodb,homebrew,Macos,Mongodb,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.

我最近用安装了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

要解决您的问题,您需要遵循brew在使用“brew安装mongodb”后提供给您的说明

要在登录时启动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
您可以只运行最后一个命令,但它对我不起作用,我需要运行第二个命令。为了将来救我。我也只是执行了第一个命令。希望有帮助


EDITHrishi使用
brew服务mongodb start
的方法对我很好。我认为他们应该在mongo文档中包含这一点。

当mongodb服务没有在mac上运行时,可能会发生这种情况。首先,我试着

brew services start 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
>
编辑:根据对本自制PR的讨论:


brew服务
已被弃用,我查看了一下,发现这些答案现在回答了问题:

在另一个选项卡中,您可以使用

蒙哥德

然后返回上一选项卡并重试。如果您在设置mongoshell时遇到问题,请查看mongoshell上的以下链接: 或安装mongodb时的以下链接:
我犯了同样的错误,但根本原因不同。我想我会在这里发布解决方案,以防其他人遇到这个问题。我在运行
mongorestore-d foo dump/foo/
时,Mac电脑不正确地关闭后,出现了这个错误

tl;dr:我通过删除损坏的
foo.ns
文件以及
foo.0
foo.1
,。。。从我的数据文件夹
/usr/local/var/mongodb/
。然后,我使用
brew服务重新启动mongodb
重新启动mongo服务器,恢复正常

详细信息:即使尝试通过brew或launchctl启动或重新启动mongodb服务,我仍不断收到错误。最后我跑了

mongod--dbpath/usr/local/var/mongodb
并看到服务没有实际启动,启动顺序包含以下错误:

[initandlisten]坏的.ns文件:/usr/local/var/mongodb/foo.ns
[initandlisten]用户断言:10079:bad.ns文件长度,无法打开数据库

我去掉了坏的
.ns
文件和其余的数据文件,下次启动服务时,我就可以继续了。

从命令行调用
mongod
时,我也遇到了同样的问题


我通过调用sudo mongod解决了这个问题,我遇到了完全相同的问题,这里有一个清晰的逐步过程来避免这个错误

步骤1安装(如果您已经安装了MongoDB,请不要执行此步骤):

步骤2-运行Mongo守护程序:

mkdir -p /data/db
sudo mongod
步骤3-运行Mongo Shell界面:

mongo
在这个序列中,我能够毫无错误地运行
mongo
命令。我还详细介绍了错误跟踪及其解决方案

我的猜测是,您在尝试通过“mongo”命令访问测试时没有运行的数据库

首先在终端中运行此命令:

然后打开另一个终端窗口并运行:

蒙戈

现在一切都应该正常了


对于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

我的类似错误通过在尝试运行mongod时删除“sudo rm/data/db/mongod.lock”文件得到解决。
现在你可以运行mongod,然后运行mongo。

如果你已经安装了MongoDB,那么首先尝试以sudo用户的身份运行mongod,因为我没有以超级用户的身份运行mongod

我已经在底部粘贴了两个命令(mongodsudo mongod)的o/p,您也可以检查,但是

先试试这个

sudo 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进程默认接受该目录,请参阅

最后启动了mongod流程,如下所示

sudo mongod
在我的终端上输出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
>

就是这样。

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

日志
/usr/local/var/log/mongodb/mongo.log
包含消息
正在关闭,代码为62
。此错误代码表示现有数据库太旧,无法使用当前版本的mongo运行

我在另一个项目中找到了两种解决方案:

  • 删除数据库文件夹(
    /usr/local/var/mongodb
  • 或者按照
我选择升级。在我的例子中,这意味着我必须降级到3.4,在mongo控制台中运行命令,然后再次升级。Mongo要求您一次升级一个主要版本,因此,根据您所处的位置,可能还有其他步骤。这些文档将指导您


brew开关
brew服务重新启动
命令使版本之间的切换相对轻松。

我也遇到了同样的问题,在查看日志文件时,我看到了以下内容:

{2019-03-09T11:57:32.136-0500 I STORAGE  [initandlisten] 
exception in initAndListen: NonExistentPath: 
Data directory /usr/local/var/mongodb not found., terminating}
因此,我创建了目录
/usr/local/var/mongodb

发出brew services restart mongodb命令后,我可以打开mongo控制台。

对于在mac更新到OS Catalina后在此寻找答案的任何人

在此处查找更多信息:

您确定mongo
brew services start mongodb-community