MongoDB:连接到127.0.0.1:27017时出错,无法建立连接,因为目标计算机主动拒绝连接

MongoDB:连接到127.0.0.1:27017时出错,无法建立连接,因为目标计算机主动拒绝连接,mongodb,Mongodb,我使用Mongo已经有一段时间了,我从来没有犯过任何错误。但今天,我尝试在终端中运行mongo命令,结果出现以下错误: Error connecting to 127.0.0.1:27017 :: caused by :: No connection could be made because the target machine actively refused it. : 我在环境变量中正确配置了Mongo的路径变量,如下所示: C:\Program Files\MongoDB\Serve

我使用Mongo已经有一段时间了,我从来没有犯过任何错误。但今天,我尝试在终端中运行mongo命令,结果出现以下错误:

Error connecting to 127.0.0.1:27017 :: caused by :: No connection could be made because the target machine actively refused it. :
我在环境变量中正确配置了Mongo的路径变量,如下所示:

C:\Program Files\MongoDB\Server\4.4\bin
所以我怀疑这是个问题。我记得昨天我通过任务管理器无意中终止了一个在后台运行的与Mongo相关的程序,但我似乎记不清它的确切名称,我真的认为这是我问题的根源,因为在终止任务管理器中的Mongo程序之前,我从未遇到过这个连接问题。

MongoDB的后台进程(守护进程)称为“mongod”。它是mongodb安装中bin目录中的可执行文件。您可以在终端中执行它

运行:
C:\Program Files\MongoDB\Server\4.4\bin\mongod.exe

通过在后台终止程序,我将假定您并没有刚刚结束该过程,否则简单的计算机重启将解决您的问题。在某些情况下,当您启动MongoDB时,同样的程序也会重新启动。但是,如果您禁用了一项服务,并且需要找到需要运行哪些服务才能连接到您的MongDB,那么我建议您查看您的Windows服务列表,查看您禁用了哪些服务,并查找与TCP或SNMP相关的服务

这是因为MongoDB Wire协议是一个简单的基于套接字的请求-响应式协议。您通过常规TCP/IP套接字与数据库服务器通信,由于您不记得“终止”了哪一个套接字,并且与网络相关的任何数量的服务都可能导致缺少依赖关系,我不能更具体地帮助你决定你需要打开哪一个,你必须通过反复试验来完成,但我至少可以给你一些指导,希望如此

具体来说,你可以

使用运行系统配置

msconfig
在“运行”框中,导航到“服务”选项卡,按禁用日期对列表排序,以查找禁用的服务,该服务与您通过任务管理器窥探时相关,或

运行任务管理器并导航到“服务”选项卡,然后打开服务,按状态或名称对其排序,并查找任何包括TCP/IP、COM+、端口方向等的服务,以查看哪个服务已禁用,并更改配置,但不禁用,然后手动对其进行统计,然后再次运行MongDB


这是我在不知道任何事情的情况下所能得到的最具体的信息,就像你终止了后台运行的某个程序一样,但我希望这能有所帮助。

我运行了mongod,但仍然得到与以前相同的错误。如果有帮助的话,我正在使用Git Bash作为我的终端。错误的另一部分是SocketException尝试打开另一个终端并运行命令:mongoYeah我尝试在我的终端中运行mongo,但这就是错误的来源。当我在终端中输入mongo时,我得到了上面发布的错误。啊,对了。。您可能需要再次设置数据库数据目录。。使用dbpath标志运行mongod。。。。mongod-dbpath c:\data\db。。这是默认路径,如果您在其他地方设置了,请进行调整。主动拒绝连接的目标可能是由于缺少识别端口访问权限的依赖关系所致。我的答案基于这样的推测