我来自riak和redis,在那里我从未有过这个服务启动或互动的问题。

这是蒙古人普遍存在的问题,我对此一无所知。重启也无济于事。我是蒙哥的新手。

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

当前回答

此方法仅在希望在不保留原始文件的情况下修复数据文件时有效

找到你的dbpath所在- vim /etc/mongodb.conf

检查选项dbpath=

(I have dbpath=/var/lib/mongodb)

默认:/ / 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

(确保你让你的终端运行,你在上面运行行, 不要按“Ctrl+c”或退出。) 现在在另一个窗口中键入启动mongo的命令。

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

其他回答

首先,转到c:\mongodb\bin>打开mongodb,如果你在控制台上看到mongodb正在监听端口27017,那就OK了 如果不是,关闭控制台并创建文件夹c:\data\db并重新启动mongod

我在macOS上使用brew安装后连接mongodb时遇到了同样的问题。

问题也是蒙神。Lock,但是在我安装mongodb 3.6之前,数据库目录是/usr/local/var/mongodb,它有旧文件和mongo . Lock

简单,我把我的旧数据库文件移动到不同的文件夹,并删除了/usr/local/var/mongodb中的所有内容

然后重新开始:

brew services restart mongodb

现在工作得很好。

如果你通过brew安装(在osx上) 首先执行sudo mkdir /data/db命令 通过输入mongod启动mondoDB Daemon(让它打开),然后 在新终端选项卡中输入mongo运行mongo

另一个解决方案,解决了这个相同的错误为我,虽然这可能只有当你访问mongo(本地)通过SSH连接通过虚拟机(至少这是我的设置),可能是linux特定的环境变量问题:

export LC_ALL=C

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

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

如果mongo shell无法与mongod服务器通信,就会出现这个错误。

这可能是因为地址错误(主机或IP)或它没有运行。需要注意的一件事是,提供的日志跟踪不包括“星期五11月9日16:44:06”的mongo时间戳。

你能:

提供命令行参数(如果有)用于启动您的 mongod过程 提供mongod启动时的日志文件活动以及 mongo shell启动尝试期间的日志? 确认您的mongod进程正在同一节点上启动 机器就像芒果壳?