我来自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

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

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

你能:

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


Resolved. This problem could be solved by the below mentioned 4 steps 1) Remove .lock file sudo rm /var/lib/mongodb/mongod.lock 2) repair the mongodb mongod -–repair 3) start the mongod server sudo service mongod start 4) start the mongo client mongo For more details take a look at 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=

(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的命令。

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


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

启动mongod服务器

mongod

打开另一个终端窗口

启动mongo shell

mongo

删除mongod。锁文件。然后运行"mongod -repair"。卸载/重新安装mongod服务为我解决了这个问题。

谢谢。


如果以上方法都不奏效:进入service (start>search>services),启动mongodb服务。然后,在cmd提示符中,进入bin后,键入:/>mongo


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


这工作我:-

以Mongodb 3.2为窗口,启动Mongodb服务。因此,以管理员身份运行命令提示符,然后net start MongoDB


在我的例子中:

首先我打开配置文件

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

另一个解决方案,解决了这个相同的错误为我,虽然这可能只有当你访问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在运行。 我通过尝试修复mongodb来修复这个问题,在那里我发现db运行所需的目录没有创建。它显示了这个错误

类型:mongod,它将显示错误

initAndListen: 29 Data directory / Data /db not found.日志含义,终止

dbpath /data/db/(默认配置)不存在导致错误。创建数据文件夹并设置权限。

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

Sudo mkdir -p /data/db/ 而且 Sudo chown id -u /data/db

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


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

打开终端并进入mongodb位置。对我来说就是这样

e:\mongodb\bin> 

并输入以下命令并按enter..

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

打开另一个终端,启动mongodb使用

mongo.exe

这是它. .你可以用mongo


创建文件夹C:data/db如果它在你的电脑上不存在。原来MongoDB需要这个文件夹结构'data/db'的存在才能运行。我希望这能帮助到一些人。


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

然后打开另一个终端,输入“mongo”。

输出如下:

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

你的问题解决了:)


这是一个老问题了,但是,作为一个新手,我想我应该补充一点(使用Webstorm),你需要点击Mongo Explorer(窗口最右边的选项卡)。从这里开始:

单击设置。 -点击浏览按钮(看起来像一个带有“…”的按钮)。 -进入程序文件> MongoDB > Server > 3.4 > bin > mongo.exe(你的版本可能与3.4不同) -之后,点击右边的绿色加号。一扇窗将打开 -在“Label”插槽中输入名称。 单击apply。

您现在应该已连接。在终端输入“mongod”是不够的。您还必须执行上述步骤。

我提前向那些没有使用Webstorm的人道歉!不确定使用其他IDE的步骤。


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


我的原因是空间-在控制台运行这个:

df -h

或者更具体地说:

du -hs /var/lib/mongodb/ 

检查磁盘使用情况。如果它是~ 99% -只是清理一些空间,再试一次!


回答这个问题有点晚了,但我也遇到过同样的问题

以下是帮助我的步骤。

转到C:\ 创建“data”文件夹 在“data”中创建“db”文件夹 打开终端(CMD) ->转到EX:"c:\MongoDB\Server\3.4\bin" 输入mongod =>这将启动mongo服务器(保持打开状态)

使用GUI运行,EX“robomongo”

Or

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


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


在C盘中创建一个名为“data”的文件夹,在数据文件夹中创建另一个名为“db”的文件夹。然后执行mongo .exe:)


首先,你必须启动mongod服务器,然后在另一个终端,你必须启动mongo shell。

启动,mongo服务器

1. 如果你的路径是默认路径(data/db) 简单的解雇了蒙神在终端

2. 如果您的路径不是data/db,那么您可以像这样命令 遵循: Mongod—dbpath“你的路来了”。

对于开始mongo shell, 只是在另一个终端解雇了蒙戈

如果你在端口27017上等待连接,那么你的mongo成功启动了。

希望你能明白我的意思


您可以尝试以下命令:

Sudo service mongod start


今天就发生在我身上,我用下面的方法解决了它。

机器:我使用的是Windows 10机器,下载了最新的MongoDB - Community版。

所以,问题是,我没有创建C:\data\db。

在没有创建C:\data\db的情况下,我打开CMD终端,在终端上使用mongod命令启动数据库

C: \ YourInstallationPath \ bin > mongod

当我发射mongo命令时,我遇到了问题。

Twist,我创建了必要的文件夹,但仍然遇到了问题。这是因为mongo服务器已经在运行。为了解决这个问题,我再次启动mongod命令,它会自动引用C:\data\db。

其他用户建议添加C:\data\db,但没有再谈到执行mongod,这正好解决了我的问题。


如果上面所有的解决方案都不奏效,那么这个可能会有所帮助。在某个地方,您可能已经通过vagrant boxes连接到本地mongodb数据库。

Vagrant up,然后SSH到您的Vagrant机器,其中您已经与mongodb建立了连接(Vagrant SSH vagrant_box_name) 使用# (sudo nano /etc/mongo .conf)注释掉/etc/mongo .conf中的bind_ip行 重启mongodb守护进程服务(sudo service mongod Restart) 瞧……


我也有同样的问题,我已经删除了E:\Mongo Data Files\db\mongod。锁文件,所以它开始工作。该问题是由于服务器不适当的关闭。所以锁文件不干净。


我也有同样的问题,然后我用这两行代码解决了。希望,有帮助

systemctl start mongod
systemctl enable mongod

@shakthydoss回答工作得很好,但在第二个问题后。lock不在那里,我只是创建了一个空白的,它工作得很好。所以检查一下你的是否在那里。

如果您正在使用命令行:

cd /var/lib/mongodb

ls

“ls”将列出该文件夹中的所有文件,如果mongod. exe文件被删除。锁不在那里,那么:

sudo touch mongod.lock

最后运行命令。

mongod –-repair

sudo service mongod start 

Mongo服务应该工作正常。


Windows操作系统处理步骤:

删除mongod。锁定文件从C:\Program Files\MongoDB\Server\4.0\data 点击C:\Program Files\MongoDB\Server\4.0\bin上的mongod 点击C:\Program Files\MongoDB\Server\4.0\bin中的mongo启动mongodb shell


我是一个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行。然后我右键单击开始,一切都工作得很完美:)。


苹果操作系统

检查状态

brew services list

喜欢的东西:

Name    Status  User Plist
mongodb stopped  

启动它

brew services start mongodb

再试一次

Mongo或Mongo—端口27017


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

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

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

然后重新开始:

brew services restart mongodb

现在工作得很好。


在Windows和ubuntu的情况下,我需要在根目录下创建/data/db文件夹。在ubuntu中,我需要一个额外的选项;为目录赋予权限。

窗户

mkdir c:/data/db

ubuntu:

sudo mkdir -p /data/db
sudo chmod 700 /data/db

然后运行

sudo service mongod start

检查

sudo service mongod status

然后运行

mongo

我在ubuntu上得到这个错误,但你可以尝试以下命令:

sudo service mongod start

启动monogdb服务使用

sudo service mongod start 

然后从新的窗口或终端开始使用mongo客户端

mongo

在搜索了很多之后,我也面临着同样的问题,我通过以下方式解决了这个问题:

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

好吧,这可能有点奇怪。我的错误发生了,因为我的日志呈指数增长,堵塞了服务器空间,因此mongo没有足够的空间来存储任何东西。

所以我清空了日志

> /var/log/mongod.log

错误:无法连接到127.0.0.1:27017服务器,连接尝试失败:SocketException:错误连接到127.0.0.1:27017::导致::没有连接可以建立,因为目标机器主动拒绝它。

这个错误是因为Mongo服务器被关闭

遵循以下步骤

打开任务管理器 进入>服务 找到MongoDB 右键单击并选择Start


试试这个:

进入终端上的bin文件夹,然后写:

Sudo ./mongod——dbpath <write_here_the_path_to_your_database>,点击enter。(总是做同样的事情)。

然后在另一个终端窗口中写入:sudo ./mongo

mongodb(6.0.2及以上版本)的新版本将使用以下命令:sudo mongosh,或者如果连接到Atlas,它将是sudo mongosh "URI of mongodb +SERV"

记得下载并安装mongo shell,只需要复制bin文件夹中的文件并粘贴到mongod所在的根目录即可。


在尝试了很多很多的解决方法之后,我做了

Sudo酿造服务启动mongodb-community而不是 Sudo服务mongod启动,它工作。

所以,首先试一下

sudo brew services start mongodb-community

然后开始做蒙哥壳,做-

mongo

对于Windows

而不是

mongodb: / / localhost: 27017 / yourDatabase

mongodb: / / yourComputerName: 27017 / yourDatabase

例子:

mongodb: / / Gabriel-Laptop: 27017 /商店


要查找您的计算机/笔记本电脑名称,请在搜索栏中输入“查看您的计算机名称”,“设备名称”附近的名称就是您要查找的名称。


注意:我在某处读到,不建议在Windows操作系统中为MongoDB使用localhost关键字(很可能在这里)。


你必须通过cmd访问你的src C: \ Program Files \ MongoDB \ Server \ 4.4 \ bin,然后你必须打开任务管理器->服务->(选择MongoDB) ->启动它,并通过cmd重新测试,它将得到解决。


当我们使用任务栏管理器时,转到服务选项卡。MongoDB状态显示为stopped。右击开始。它将连接MongoDB服务器版本。 检查输入“db”。


db 测验

它会工作得很好。


对于我来说:

操作系统:CentOS 7

错误

> mongo
MongoDB shell version v4.4.2
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
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 Connection refused
connecct@src/mongo/shell/mongo.js 374 17
@(connect) 2 6
exception connect failed 
existing with code 1

原因

Mongod不跑 但如果运行mongod,将不会为没有访问权限的工作

解决方案

使用root命令运行mongod

sudo /data/mongodb/bin/mongod --config /data/mongodb/conf/mongodb.conf &

是操作系统

检查服务状态:

brew services

如果你有这样的东西:

Name              Status
mongodb-community error

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

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

在终端中执行这些步骤

执行该命令停止mongodb

Brew服务停止mongodb-community

重新启动mongodb

Brew服务启动mongodb-community

蒙戈德

·


如果你还没有掌握基本知识,就不要尝试写日记。 移除锁文件: Sudo rm /var/lib/mongodb/ mongol .lock 在/etc/mongodb.conf中,如果机器的ip-address不是静态的,则将bindIp参数编辑为0.0.0.0。

**重新启动服务器**,即使在ubuntu中,仅仅重新启动服务(使用systemctl)也不能工作,有时需要重新启动机器。