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
此方法只适用于如果您要修复您的数据文件,而不保留原始文件
查找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% – 只是清理一些空间,然后再试一次!
有点迟到的答案,但我遇到了同样的问题
以下是帮助我的步骤。
- 转到C:\
- 创build“数据”文件夹
- 在“数据”中创build“db”文件夹
- 打开terminal(CMD) – >转到EX:“
c:\MongoDB\Server\3.4\bin
” - 键入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