我来自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的命令。

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

其他回答

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

export LC_ALL=C

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

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

是操作系统

检查服务状态:

brew services

如果你有这样的东西:

Name              Status
mongodb-community error

所以你可以像这样停止并重新启动服务:

brew services stop mongodb-community
brew services start mongodb-community

我是一个windows用户,我在2018年11月安装了MongoDB,我不想设置数据/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

然后我试图修复使用所有上述答案,没有工作。当我试着运行mongod时,它说

MongoDB starting : pid=12220 port=27017 dbpath=C:\data\db\ 64-bit host=bla

我试图通过文件系统和cmd改变db路径(到程序文件),但这些都不起作用。

对我有效的解决方法是:

打开任务管理器(ctrl + shift + esc) -> Services选项卡,有一个状态为stopped的MongoDB行。然后我右键单击开始,一切都工作得很完美:)。

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

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

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

然后重新开始:

brew services restart mongodb

现在工作得很好。

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

找到你的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的命令。

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