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

我是从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 

这是我在日志中看到的。

  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 

如果mongo shell无法与mongod服务器通信,则会出现此错误。 这可能是因为地址错误(主机或IP)或它没有运行。 有一点要注意的是提供的日志跟踪不包括你的mongo时间戳的“Fri Nov 9 16:44:06”。 你可以吗:

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

谢谢!

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

启动mongod服务器

 mongod 

打开另一个terminal窗口

启动mongo shell

 mongo 

解决。

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

1)删除.lock文件

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

2)修复mongodb

 mongod –repair 

3)启动mongodb

 sudo service mongodb start 

4)启动mongo客户端

 mongo 

有关更多详细信息,请查看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/

此方法只适用于如果您要修复您的数据文件,而不保留原始文件

查找dbpath所在的位置-vim /etc/mongodb.conf

检查选项dbpath =

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

默认值: / data / db /

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

用你的dbpathreplace/ var / lib / mongodb

 sudo rm /var/lib/mongodb/mongod.lock sudo mongod --dbpath /var/lib/mongodb/ --repair sudo mongod --dbpath /var/lib/mongodb/ --journal 

(确保你离开你的terminal运行,你已经在上面运行,不要按'Ctrl + c'或退出它。)在另一个窗口中键入命令来启动mongo。

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

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

键入: mongod ,它会显示错误

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

由于dbpath /data/db/ (default config)不存在,因此发生错误。 您需要创build数据文件夹并为其设置权限。

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

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

然后我再次运行了mongo,它工作。

在我的情况下:

首先我打开configuration文件

 sudo vi /etc/mongodb.conf 

像这样评论IP和端口

 #bind_ip = 127.0.0.1 #port = 27017 

然后重启mongodb

 sudo service mongodb restart sudo service mongod restart 

最后,这是工作:D

 finn@Finn ~ $ mongo MongoDB shell version: 2.4.9 connecting to: test > exit 

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

要连接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) 

之后,打开另一个terminal,只需input“mongo”。

以下是输出,你可以看到:

 $ mongo MongoDB shell version v3.4.2 connecting to: mongodb://127.0.0.1:27017 MongoDB server version: 3.4.2 

你的问题解决了:)

删除mongod.lock文件。 并运行“mongod -repair”。 卸载/重新安装mongod服务为我解决了这个问题。

谢谢。

在连接到AWS EC2上的Mongo时,我遇到了同样的错误。 这就是解决它https://serverfault.com/a/347159/62381从configuration文件中删除bind_ip

另一个解决scheme,为我解决这个相同的错误,虽然这可能只有当你通过虚拟机通过SSH连接(本地)访问mongo(至less这是我的设置),也可能是一个Linux特定的环境variables问题:

 export LC_ALL=C 

此外,我已经有更多的成功运行mongo作为守护进程服务,然后与sudo服务启动,我的理解是这使用命令行参数,而不是configuration文件,所以它可能是我的configuration文件的问题:

 mongod --fork --logpath /var/log/mongodb.log --auth --port 27017 --dbpath /var/lib/mongodb/admin 

最后我得到了这是一个简单的方法..

打开terminal并转到mongodb位置。 在我的情况是这样的

 e:\mongodb\bin> 

并input以下命令并按Enter键。

 mongod --config e:\mongodb\mongo.config 

打开另一个terminal并使用mongodb启动

 mongo.exe 

多数民众赞成在..你可以使用mongo

如果您的计算机上尚不存在文件夹C:data / db,请创build它。 结果MongoDB需要存在这个文件夹结构“data / db”才能运行。 我希望这可以帮助别人。

这是一个古老的问题,但作为一个新手,我想我会添加(使用Webstorm),你需要点击Mongo Explorer(窗口最右侧的选项卡)。 从那里:

– 点击设置。 – 点击浏览button(看起来像一个button“…”)。 – 进入程序文件> MongoDB>服务器> 3.4> bin> mongo.exe(您的版本可能不同于3.4) – 之后,单击右侧的绿色加号。 将打开一个窗口 – 在“标签”插槽中input一个名称。 – 点击应用

你现在应该被连接。 在terminal中input“mongod”是不够的。 您还必须执行上述步骤。

事先向那些不使用Webstorm的人道歉! 不确定使用其他IDE的步骤。

如果你通过brew(在osx上)安装,首先运行sudo mkdir /data/db启动mondoDB守护进程,方法是inputmongod (将其打开),然后在新的terminal选项卡中inputmongo来运行mongo

我的原因是空间 – 在控制台中运行:

 df -h 

或者更具体地说:

 du -hs /var/lib/mongodb/ 

检查他的磁盘使用情况。 如果这是〜99% – 只是清理一些空间,然后再试一次!

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

以下是帮助我的步骤。

  1. 转到C:\
  2. 创build“数据”文件夹
  3. 在“数据”中创build“db”文件夹
  4. 打开terminal(CMD) – >转到EX:“ c:\MongoDB\Server\3.4\bin
  5. 键入mongod =>这将启动mongo服务器(将其打开)

运行使用GUI,EX“robomongo”

要么

打开新的terminal(CMD) – >进入EX:在“mongo”命令中键入“ c:\MongoDB\Server\3.4\bin

这工作我: –

在Mongo 3.2窗口中,你应该启动Mongodb服务。 因此, Command Prompt as Administrator运行Command Prompt as Administrator然后启动MongoDB