无法连接到服务器 127.0.0.1 shell/mongo.js

2024-11-07 08:55:00
admin
原创
29
摘要:问题描述:当我在我的 ubuntu 中设置 mongodb 时,我尝试:./mongo 它显示此错误: couldn't connect to server 127.0.0.1 shell/mongo.js 那我能做什么呢?谢谢解决方案 1:手动删除锁文件:sudo rm /var/lib/mongodb/m...

问题描述:

当我在我的 ubuntu 中设置 mongodb 时,我尝试:./mongo 它显示此错误:

 couldn't connect to server 127.0.0.1 shell/mongo.js

那我能做什么呢?

谢谢


解决方案 1:

  • 手动删除锁文件:sudo rm /var/lib/mongodb/mongod.lock

  • 运行修复脚本:sudo -u mongodb mongod -f /etc/mongodb.conf --repair

请注意以下事项:

  • 您必须以 mongodb 用户身份运行此命令。如果您以 root 身份运行它,则 root 将拥有 /var/lib/mongodb/ 中运行 mongodb 守护进程所需的文件,因此当守护进程稍后尝试以 mongodb 用户身份运行时,它将无权启动。在这种情况下,您将收到此错误:无法为 lockfilepath 创建/打开锁定文件:/var/lib/mongodb/mongod.lock errno:13 权限被拒绝,终止。

  • 在 Ubuntu 上,您必须使用 -f 标志指定配置文件 /etc/mongodb.conf。否则,它会在错误的位置查找数据文件,您将看到以下错误:dbpath (/data/db/) 不存在,终止。

解决方案 2:

sudo rm /var/lib/mongodb/mongod.lock   
sudo -u mongodb mongod -f /etc/mongodb.conf --repair 
sudo service mongodb start

全部内容就是这样,有时,执行这些操作后需要一点时间才能启动 mongo。

解决方案 3:

尝试运行 $mongod

如果你得到如下错误

MongoDB shell version: 2.0.5
connecting to: test
Fri Jun  1 11:20:33 Error: couldn't connect to server 127.0.0.1 shell/mongo.js:84
exception: connect failed

hisham-agil:~ hisham$ mongod
mongod --help for help and startup options
Fri Jun  1 11:24:47 [initandlisten] MongoDB starting : pid=53452 port=27017 dbpath=/data/db/ 64-bit host=hisham-agil.local
Fri Jun  1 11:24:47 [initandlisten] db version v2.0.5, pdfile version 4.5
Fri Jun  1 11:24:47 [initandlisten] git version: nogitversion
Fri Jun  1 11:24:47 [initandlisten] build info: Darwin gamma.local 11.3.0 Darwin Kernel Version 11.3.0: Thu Jan 12 18:48:32 PST 2012; root:xnu-1699.24.23~1/RELEASE_I386 i386 BOOST_LIB_VERSION=1_49
Fri Jun  1 11:24:47 [initandlisten] options: {}
Fri Jun  1 11:24:47 [initandlisten] exception in initAndListen: 10296 dbpath (/data/db/) does not exist, terminating
Fri Jun  1 11:24:47 dbexit: 
Fri Jun  1 11:24:47 [initandlisten] shutdown: going to close listening sockets...
Fri Jun  1 11:24:47 [initandlisten] shutdown: going to flush diaglog...
Fri Jun  1 11:24:47 [initandlisten] shutdown: going to close sockets...
Fri Jun  1 11:24:47 [initandlisten] shutdown: waiting for fs preallocator...
Fri Jun  1 11:24:47 [initandlisten] shutdown: lock for final commit...
Fri Jun  1 11:24:47 [initandlisten] shutdown: final commit...
Fri Jun  1 11:24:47 [initandlisten] shutdown: closing all files...
Fri Jun  1 11:24:47 [initandlisten] closeAllFiles() finished
Fri Jun  1 11:24:47 dbexit: really exiting now

那么您遇到了一个相当常见的基本启动错误。

默认情况下,mongod 将尝试使用 /data/db 作为其数据库文件,但在本例中,该文件不存在。

你无法开始

mongo 

直到你处理

mongod.

尝试创建这些目录并确保运行 mongod 进程的同一用户可以写入它们。

**参见类似问题——在 mac osx lion 上尝试运行 mongodb 时出现错误“错误:无法连接到服务器 127.0.0.1 shell/mongo.js”

解决方案 4:

这实际上不是一个错误...这里发生的情况是,Mongo 依赖守护进程来运行本地数据库服务器,因此为了在您的 shell 中“启动” mongo 服务器,您必须首先启动mongo 服务

对于Fedora Linux(我使用的发行版),您必须运行以下命令:

1 sudo service mongod start
2 mongo

就这样!服务器将要运行了。现在,如果您希望 Mongo 服务在系统启动时启动,那么您必须运行:

sudo chkconfig --levels 235 mongod on

就这样!如果你这样做了,现在在 shell 中你只需要输入mongo就可以启动服务器,但这就是全部了,问题是你必须先启动服务,然后再启动服务器 :)

PS 我发布的命令可能也适用于其他 Linux 发行版,而不仅仅是 Fedora...如果不是,也许你必须根据你使用的发行版调整一些词语;)

解决方案 5:

当我尝试安装 mongo 时,我遇到了同样的问题。我得到的错误如下:

错误

"Error: couldn't connect to server 127.0.0.1 shell/mongo.js:84"

解决方案:

首先使用以下命令安装 mongod:

sudo apt-get install mongodb-server

然后输入

mongod --dbpath /mongo/db

然后

sudo rm /var/lib/mongodb/mongod.lock

然后

sudo -u mongodb mongod -f /etc/mongodb.conf  --repair

谢谢

解决方案 6:

您需要删除 ubuntu 上的锁文件mongod.lock/var/lib/mongodb/mongod.lock,然后您需要先在 ubuntu 上运行mongod.exe或,然后在 ubuntu 上运行或。service mongodb start`mongo.exe`mongo

解决方案 7:

您的 mongod 可能未运行(使用“ps”命令检查),或者它正在监听某个外部 IP 地址而不是本地主机。因此,首先检查进程列表,看“mongod”是否正在运行。如果是,请使用“netstat -nap”检查相关端口。

当然,您可以手动在控制台上启动 mongod 甚至查看 mongod 日志文件(如果已配置...取决于您如何安装 mongod)。

解决方案 8:

首先,您必须确保 /var/lib/mongodb/ 文件夹(或 dbpath 指向的任何文件夹)中的所有文件和目录都属于 mongodb 用户和 mongodb 组。

cd /var/lib/mongodb/
sudo chown mongodb filename.*
sudo chgrp mongodb filename.*
sudo chown -R mongodb directory
sudo chgrp -R mongodb directory

(将文件名和目录替换为各自的名称)

然后,您可以删除锁,修复数据库并重新启动守护进程,正如其他人提到的那样:

sudo rm /var/lib/mongodb/mongod.lock   
sudo -u mongodb mongod -f /etc/mongodb.conf --repair 
sudo service mongodb start

解决方案 9:

首先启动你的 mongo 服务器

Users-MacBook-Pro:csv1 Admin$ mongod
all output going to: /usr/local/var/log/mongodb/mongo.log

然后打开另一个终端窗口并打开 shell

Users-MacBook-Pro:csv1 Admin$ mongo

解决方案 10:

还要检查根分区是否有足够的空间来启动 mongod。

df -h /

你会在 mongod 启动时看到类似这样的内容:

Mon Aug 12 17:02:59.159 [initandlisten] recover : no journal files present, no recovery needed
Mon Aug 12 17:02:59.159 [initandlisten] 
Mon Aug 12 17:02:59.159 [initandlisten] ERROR: Insufficient free space for journal files
Mon Aug 12 17:02:59.159 [initandlisten] Please make at least 3379MB available in /var/lib/mongodb/journal or use --smallfiles
Mon Aug 12 17:02:59.159 [initandlisten] 
Mon Aug 12 17:02:59.159 [initandlisten] exception in initAndListen: 15926 Insufficient free space for journals, terminating
Mon Aug 12 17:02:59.159 dbexit: 
Mon Aug 12 17:02:59.159 [initandlisten] shutdown: going to close listening sockets...

解决方案 11:

在 Ubuntu 上,尝试这个:

sudo invoke-rc.d mongodb start

解决方案 12:

这可能是 $PATH 和权限问题的结合。

请尝试按照下面给出的步骤:

更新您的 $PATH 变量以指向您的 MongoDB bin 文件。在我的例子中,brew 将 MongoDB 安装到此文件夹:

/usr/local/Cellar/mongodb/2.4.6/

为了更新您的 $PATH 变量,请执行以下操作:

$ sudo vi /etc/paths

然后,按“i”在 Vi 中插入文本并将您的 MongoDB 路径附加到“paths”文件的末尾,然后重新启动终端。

/usr/local/Cellar/mongodb/2.4.6/bin

使用“Esc:w q”保存并退出 Vi 编辑器。

使用 echo 显示路径变量:

$ echo $PATH
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/Cellar/mongodb/2.4.6/bin

现在尝试检查 Mongo 版本,如果您得到以下内容,那么您就走在正确的轨道上!

$ mongo --version
MongoDB shell version: 2.4.6

现在我们需要创建数据库目录。我使用了 MongoDB 文档中建议的默认“/data/db”位置。我还创建了一个日志目录,以避免 Mongo 尝试创建任何日志时出现任何权限问题。更改所有权即可完成工作。

$ sudo mkdir /data/db
$ sudo mkdir /data/log
$ whoami
username
$ chown -R username /data

现在,我们将为 MongoDB 创建一个默认配置文件,以便在我们第一次运行“mongod”命令时使用。现在,我还想指出“mongod”将启动一个服务,它将监听传入的数据连接。这类似于执行“$service mysqld start”。让我们继续创建配置文件。请记住,我创建的是非常基本的配置文件。但是,您可以添加许多其他变量来配置 MongoDB。这是我第一次使用 MongoDB,所以我只知道我在 MongoDB 文档上读到的内容!我创建了“mongodb.conf”。

$ sudo vi /etc/mongodb.conf

添加以下内容:

fork = true
port = 27017
quiet = true
dbpath = /data/db
logpath = /data/log/mongod.log
logappend = true
journal = true

请注意,MongoDB 服务器的默认端口是 27017。使用您在步骤 5 中创建的 dbpath 和 logpath 的路径。不要忘记关闭并保存 conf 文件。

现在我们已准备好启动 MongoDB 服务。打开两个终端实例。在终端 1 中输入:

$ sudo mongod -f /etc/mongodb.conf
about to fork child process, waiting until server is ready for connections.
forked process: 3516
all output going to: /data/log/mongod.log
child process started successfully, parent exiting

如果您收到上述消息,则表明您已成功启动 Mongod 服务。

现在,要连接它,请在终端 2 中输入以下内容:

$mongo test
MongoDB shell version: 2.4.6
connecting to: test
Server has startup warnings:
Tue Sep 3 16:55:43.527 [initandlisten]
Tue Sep 3 16:55:43.527 [initandlisten] ** WARNING: soft rlimits too low. Number of files is 256, should be at least 1000
>

忽略警告,但您已成功连接到“测试”数据库!太棒了!

就这些。当我第一次尝试在 Mac 上安装 MongoDB 副本时,我应用了这个解决方案。看看这是否也能帮助你。

有关详细帖子,您可以访问此处 - http://arcanebytes.com/2013/09/03/mongodb-installation-on-mac-os-x/#comment-1036112094

我希望它有帮助!

干杯,Chinmay

解决方案 13:

我通过以下步骤在 ubuntu 12.04 上解决了这个问题:

1)sudo rm /var/log/mongodb

2)sudo rm /var/lib/mongodb

3)我删除了 mongo,然后再次安装它

4)sudo service mongodb restart

一切都好

解决方案 14:

对于 Ubuntu:

只需打开终端并输入以下命令。你只需要重新启动 mongoDB。

sudo service mongodb restart
相关推荐
  为什么项目管理通常仍然耗时且低效?您是否还在反复更新电子表格、淹没在便利贴中并参加每周更新会议?这确实是耗费时间和精力。借助软件工具的帮助,您可以一目了然地全面了解您的项目。如今,国内外有足够多优秀的项目管理软件可以帮助您掌控每个项目。什么是项目管理软件?项目管理软件是广泛行业用于项目规划、资源分配和调度的软件。它使项...
项目管理软件   601  
  华为IPD与传统研发模式的8大差异在快速变化的商业环境中,产品研发模式的选择直接决定了企业的市场响应速度和竞争力。华为作为全球领先的通信技术解决方案供应商,其成功在很大程度上得益于对产品研发模式的持续创新。华为引入并深度定制的集成产品开发(IPD)体系,相较于传统的研发模式,展现出了显著的差异和优势。本文将详细探讨华为...
IPD流程是谁发明的   7  
  如何通过IPD流程缩短产品上市时间?在快速变化的市场环境中,产品上市时间成为企业竞争力的关键因素之一。集成产品开发(IPD, Integrated Product Development)作为一种先进的产品研发管理方法,通过其结构化的流程设计和跨部门协作机制,显著缩短了产品上市时间,提高了市场响应速度。本文将深入探讨如...
华为IPD流程   9  
  在项目管理领域,IPD(Integrated Product Development,集成产品开发)流程图是连接创意、设计与市场成功的桥梁。它不仅是一个视觉工具,更是一种战略思维方式的体现,帮助团队高效协同,确保产品按时、按质、按量推向市场。尽管IPD流程图可能初看之下显得错综复杂,但只需掌握几个关键点,你便能轻松驾驭...
IPD开发流程管理   8  
  在项目管理领域,集成产品开发(IPD)流程被视为提升产品上市速度、增强团队协作与创新能力的重要工具。然而,尽管IPD流程拥有诸多优势,其实施过程中仍可能遭遇多种挑战,导致项目失败。本文旨在深入探讨八个常见的IPD流程失败原因,并提出相应的解决方法,以帮助项目管理者规避风险,确保项目成功。缺乏明确的项目目标与战略对齐IP...
IPD流程图   8  
热门文章
项目管理软件有哪些?
云禅道AD
禅道项目管理软件

云端的项目管理软件

尊享禅道项目软件收费版功能

无需维护,随时随地协同办公

内置subversion和git源码管理

每天备份,随时转为私有部署

免费试用