mongo - 无法连接到服务器127.0.0.1:27017

Tam*_*mpa 134 mongodb pymongo

我来自riak和redis,我从未遇到过这项服务的问题,或者进行互动.

这是mongo普遍存在的问题,而且相当无能为力.重启没有帮助.我是mongo的新手.

mongo
MongoDB shell version: 2.2.1
connecting to: test
Fri Nov  9 16:44:06 Error: couldn't connect to server 127.0.0.1:27017 src/mongo/shell/mongo.js:91
exception: connect failed
Run Code Online (Sandbox Code Playgroud)

这就是我在日志中看到的.

 now open)
Fri Nov  9 16:44:34 [conn47] end connection 10.29.16.208:5306 (1 connection now open)
Fri Nov  9 16:45:04 [initandlisten] connection accepted from 10.29.16.208:5307 #48 (2 connections now open)
Fri Nov  9 16:45:04 [conn48] end connection 10.29.16.208:5307 (1 connection now open)
Fri Nov  9 16:45:04 [initandlisten] connection accepted from 10.29.16.208:5308 #49 (2 connections now open)
Fri Nov  9 16:45:04 [conn49] end connection 10.29.16.208:5308 (1 connection now open)
Fri Nov  9 16:45:34 [initandlisten] connection accepted from 10.29.16.208:5316 #50 (2 connections now open)
Fri Nov  9 16:45:34 [conn50] end connection 10.29.16.208:5316 (1 connection now open)
Fri Nov  9 16:45:34 [initandlisten] connection accepted from 10.29.16.208:5317 #51 (2 connections now open)
Fri Nov  9 16:45:34 [conn51] end connection 10.29.16.208:5317 (1 connection now open)
Fri Nov  9 16:46:04 [initandlisten] connection accepted from 10.29.16.208:5320 #52 (2 connections now open)
Fri Nov  9 16:46:04 [conn52] end connection 10.29.16.208:5320 (1 connection now open)
Fri Nov  9 16:46:04 [initandlisten] connection accepted from 10.29.16.208:5321 #53 (2 connections now open)
Fri Nov  9 16:46:04 [conn53] end connection 10.29.16.208:5321 (1 conn
Run Code Online (Sandbox Code Playgroud)

Rav*_*msa 251

通常这是因为你在尝试启动mongo shell之前没有启动mongod进程.

启动mongod服务器

mongod
Run Code Online (Sandbox Code Playgroud)

打开另一个终端窗口

启动mongo shell

mongo
Run Code Online (Sandbox Code Playgroud)

  • 在macOS Sierra上对我有用的是"sudo mongod"然后是"mongo" (4认同)
  • 这个案子对我有用,我不得不做〜> sudo mongod --dbpath/dbpathlocation然后打开新的终端来运行mongo ... (3认同)

sha*_*oss 71

解决.

这个问题可以通过下面提到的4个步骤来解决

1)删除.lock文件

sudo rm /var/lib/mongodb/mongod.lock 
Run Code Online (Sandbox Code Playgroud)

2)修复mongodb

mongod –repair
Run Code Online (Sandbox Code Playgroud)

3)启动mongod服务器

sudo service mongod start 
Run Code Online (Sandbox Code Playgroud)

4)启动mongo客户端

mongo
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请查看http://shakthydoss.com/error-couldnt-connect-to-server-127-0-0-127017-srcmongoshellmongo-js-exception-connect-failed/

http://shakthydoss.com/technical/error-couldnt-connect-to-server-127-0-0-127017-srcmongoshellmongo-js-exception-connect-failed/

  • 只是想知道/var/lib/mongodb/mongod.lock是什么,它出了什么问题? (3认同)
  • Ubuntu 18.04 中的第 2 项是“mongod --repair” (2认同)

Jen*_*nna 42

如果mongo shell无法与mongod服务器通信,您将看到此错误.

这可能是因为地址错误(主机或IP)或者它没有运行.有一点需要注意的是,提供的日志跟踪不包括您的"星期五9月16日16:44:06" mongo timestamp.

你能:

  1. 提供用于启动mongod进程的命令行参数(如果有)
  2. 在mongo shell启动尝试期间提供mongod启动时的日志文件活动以及日志?
  3. 确认您的mongod进程是在与mongo shell相同的机器上启动的吗?


poo*_*rva 35

仅当您要修复数据文件而不保留原始文件时,此方法才有效

要找到dbpath驻留的位置--vim /etc/mongodb.conf

检查选项dbpath =

(我有dbpath =/var/lib/mongodb)

默认值:/data/db /

典型位置包括:/ srv/mongodb,/ var/lib/mongodb或/ opt/mongodb.

更换的/ var/lib中/ MongoDB的与您的DBPATH

sudo rm /var/lib/mongodb/mongod.lock
sudo mongod --dbpath /var/lib/mongodb/ --repair
sudo mongod --dbpath /var/lib/mongodb/ --journal
Run Code Online (Sandbox Code Playgroud)

(确保你让终端在你的线路上运行,不要按'Ctrl + c'或退出它.)在另一个窗口中输入命令启动mongo.

希望这对你有用!对于那些想要修复您的数据文件同时保留原始文件 mongo恢复

  • 在 ubuntu 上工作。--journal 解决了我的问题。它到底有什么作用?--journal 有什么用? (3认同)

Wil*_* Hu 17

苹果系统

检查状态

brew services list
Run Code Online (Sandbox Code Playgroud)

就像是:

Name    Status  User Plist
mongodb stopped  
Run Code Online (Sandbox Code Playgroud)

启动它

brew services start mongodb
Run Code Online (Sandbox Code Playgroud)

再试一遍

mongo 要么 mongo --port 27017

  • 不适合我。我已经在处理这个 MongoDB 上苦苦挣扎了一个小时了。哇!!! (2认同)

小智 16

Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed: SocketException: Error connecting to 127.0.0.1:27017 :: caused by :: No connection could be made because the target machine actively refused it.

这个错误是因为 Mongo Server 被关闭了

简单按照以下步骤

  1. 打开任务管理器
  2. 前往 >服务
  3. 查找MongoDB
  4. 右键单击并选择开始


Fin*_*inn 13

就我而言:

首先,我打开配置文件

sudo vi /etc/mongodb.conf
Run Code Online (Sandbox Code Playgroud)

像这样评论IP和端口

#bind_ip = 127.0.0.1
#port = 27017
Run Code Online (Sandbox Code Playgroud)

然后重启mongodb

sudo service mongodb restart
sudo service mongod restart
Run Code Online (Sandbox Code Playgroud)

最后,它的工作:D

finn@Finn ~ $ mongo
MongoDB shell version: 2.4.9
connecting to: test
> exit
Run Code Online (Sandbox Code Playgroud)

  • 小心使用 bind_ip。如果您将其注释掉,它将允许远程连接到您的数据库,这显然是一个糟糕的主意,除非您具有安全性和身份验证设置。我相信 MongoDB 默认没有用户或密码,所以你需要注意这一点。 (2认同)

小智 12

确保您的mongo正在运行.我通过尝试修复mongodb来解决这个问题,在那里我发现没有创建db运行所需的目录.它显示了这个错误

键入:mongod,它将显示错误

exception in initAndListen: 29 Data directory /data/db not found., terminating

发生错误,因为dbpath /data/db/(默认配置)不存在.您需要创建数据文件夹并为其设置权限.

然后我通过命令在我的系统上创建一个文件夹

sudo mkdir -p/data/db /sudo chown id -u/ data/db

然后我再次运行mongo并且它有效.


小智 10

有点迟到的答案,但我遇到了同样的问题

以下是帮助我的步骤.

  1. 转到C:\
  2. 创建"数据"文件夹
  3. 在"数据"中创建"db"文件夹
  4. 开放式终端(CMD) - >转到EX:" c:\MongoDB\Server\3.4\bin"
  5. 输入mongod =>这将启动mongo服务器(保持打开状态)

运行GUI,EX"robomongo"

要么

打开新终端(CMD) - >转到EX:" c:\MongoDB\Server\3.4\bin"输入"mongo"命令


小智 9

经过大量搜索后,我遇到了同样的问题,我通过以下方法解决了这个问题:

sudo service mongodb stop 

sudo rm /var/lib/mongodb/mongod.lock 

sudo mongod --repair --dbpath /var/lib/mongodb 

sudo mongod --fork --logpath /var/lib/mongodb/mongodb.log --dbpath /var/lib/mongodb 

sudo service mongodb start
Run Code Online (Sandbox Code Playgroud)


小智 6

我也有同样的问题,然后我通过这两行代码得到了解决。希望能帮助到你

systemctl start mongod
systemctl enable mongod
Run Code Online (Sandbox Code Playgroud)


Kha*_*lid 5

如果以上所有解决方案均不起作用:转到服务(start>search>services)并启动mongodb服务。然后,在cmd提示符下,进入bin后,键入:/>mongo


小智 5

要与 mongo 连接,我们必须首先启动 'mongod' 服务。您可以看到以下输出:

$ mongod
2017-03-05T00:31:39.055+0530 I CONTROL  [initandlisten] MongoDB starting : pid=1481 port=27017 dbpath=/data/db 64-bit host=Prabhu-Nandans-Mac.local
2017-03-05T00:31:39.056+0530 I CONTROL  [initandlisten] db version v3.4.2
2017-03-05T00:31:39.056+0530 I CONTROL  [initandlisten] git version: 3f76e40c105fc223b3e5aac3e20dcd026b83b38b
2017-03-05T00:31:39.056+0530 I CONTROL  [initandlisten] OpenSSL version: OpenSSL 1.0.2k  26 Jan 2017
2017-03-05T00:31:39.056+0530 I CONTROL  [initandlisten] allocator: system
2017-03-05T00:31:39.056+0530 I CONTROL  [initandlisten] modules: none
2017-03-05T00:31:39.056+0530 I CONTROL  [initandlisten] build environment:
2017-03-05T00:31:39.056+0530 I CONTROL  [initandlisten]     distarch: x86_64
2017-03-05T00:31:39.056+0530 I CONTROL  [initandlisten]     target_arch: x86_64
2017-03-05T00:31:39.056+0530 I CONTROL  [initandlisten] options: {}
2017-03-05T00:31:39.056+0530 W -        [initandlisten] Detected unclean shutdown - /data/db/mongod.lock is not empty.
2017-03-05T00:31:39.057+0530 I -        [initandlisten] Detected data files in /data/db created by the 'wiredTiger' storage engine, so setting the active storage engine to 'wiredTiger'.
2017-03-05T00:31:39.057+0530 W STORAGE  [initandlisten] Recovering data from the last clean checkpoint.
2017-03-05T00:31:39.057+0530 I STORAGE  [initandlisten] wiredtiger_open config: create,cache_size=3584M,session_max=20000,eviction=(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-03-05T00:31:39.620+0530 I CONTROL  [initandlisten] 
2017-03-05T00:31:39.620+0530 I CONTROL  [initandlisten] ** WARNING: Access control is not enabled for the database.
2017-03-05T00:31:39.620+0530 I CONTROL  [initandlisten] **          Read and write access to data and configuration is unrestricted.
2017-03-05T00:31:39.620+0530 I CONTROL  [initandlisten] 
2017-03-05T00:31:39.620+0530 I CONTROL  [initandlisten] 
2017-03-05T00:31:39.620+0530 I CONTROL  [initandlisten] ** WARNING: soft rlimits too low. Number of files is 256, should be at least 1000
2017-03-05T00:31:39.643+0530 I FTDC     [initandlisten] Initializing full-time diagnostic data capture with directory '/data/db/diagnostic.data'
2017-03-05T00:31:39.643+0530 I NETWORK  [thread1] waiting for connections on port 27017
2017-03-05T00:31:40.008+0530 I FTDC     [ftdc] Unclean full-time diagnostic data capture shutdown detected, found interim file, some metrics may have been lost. OK
2017-03-05T00:32:03.832+0530 I NETWORK  [thread1] connection accepted from 127.0.0.1:49806 #1 (1 connection now open)
2017-03-05T00:32:03.833+0530 I NETWORK  [conn1] received client metadata from 127.0.0.1:49806 conn1: { application: { name: "MongoDB Shell" }, driver: { name: "MongoDB Internal Client", version: "3.4.2" }, os: { type: "Darwin", name: "Mac OS X", architecture: "x86_64", version: "16.4.0" } }
2017-03-05T00:32:08.376+0530 I -        [conn1] end connection 127.0.0.1:49806 (1 connection now open)
Run Code Online (Sandbox Code Playgroud)

之后打开另一个终端并输入“mongo”。

以下是您可以看到的输出:

$ mongo
MongoDB shell version v3.4.2
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.2
Run Code Online (Sandbox Code Playgroud)

你的问题解决了:)


Bla*_*nka 5

我是Windows用户,我于2018年11月安装了MongoDB,但我不想设置data / db目录。但是几天后,当我打开时,收到一条错误消息:

MongoDB shell version v4.0.4
connecting to: mongodb://127.0.0.1:27017
2018-12-05T20:42:40.108+0530 E QUERY    [js] Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed: SocketException: Error connecting to 127.0.0.1:27017 :: caused by :: No connection could be made because the target machine actively refused it. :
connect@src/mongo/shell/mongo.js:257:13
@(connect):1:6
exception: connect failed
Run Code Online (Sandbox Code Playgroud)

然后,我尝试使用以上所有答案进行修复,但没有成功。当我尝试运行mongod时说

MongoDB starting : pid=12220 port=27017 dbpath=C:\data\db\ 64-bit host=bla
Run Code Online (Sandbox Code Playgroud)

我试图通过文件系统并使用cmd更改db路径(到程序文件),但是这些没有用。

对我有用的解决方案是:

打开任务管理器ctrl + shift + esc)-> 服务选项卡,状态为MongoDB的行停止。然后,我右键单击并单击开始,然后一切正常:)

  • 这对我有用。Windows 用户应该首先尝试这个 (7认同)