无法连接到服务器127.0.0.1:27017

我得到了以下错误:

alex@alex-K43U:/$ mongo
MongoDB shell version: 2.2.0
connecting to: test
Thu Oct 11 11:46:53 Error: couldn't connect to server 127.0.0.1:27017 src/mongo/shell/mongo.js:91
exception: connect failed
alex@alex-K43U:/$

这就是当我试图开始 mongodb 的时候发生的事情:

* Starting database mongodb                                             [fail]

我已经试过 mongo --repair

我给 Var、 lib、 data/db 和 log Mongodb 做了小吃和小吃。

不知道还能做什么,有什么建议吗?

博客:

***** SERVER RESTARTED *****




Thu Oct 11 08:29:40
Thu Oct 11 08:29:40 warning: 32-bit servers don't have journaling enabled by default. Please use --journal if you want durability.
Thu Oct 11 08:29:40
Thu Oct 11 08:29:41 [initandlisten] MongoDB starting : pid=1052 port=27017 dbpath=/var/lib/mongodb 32-bit host=alex-K43U
Thu Oct 11 08:29:41 [initandlisten]
Thu Oct 11 08:29:41 [initandlisten] ** NOTE: when using MongoDB 32 bit, you are limited to about 2 gigabytes of data
Thu Oct 11 08:29:41 [initandlisten] **       see http://blog.mongodb.org/post/137788967/32-bit-limitations
Thu Oct 11 08:29:41 [initandlisten] **       with --journal, the limit is lower
Thu Oct 11 08:29:41 [initandlisten]
Thu Oct 11 08:29:41 [initandlisten] db version v2.2.0, pdfile version 4.5
Thu Oct 11 08:29:41 [initandlisten] git version: f5e83eae9cfbec7fb7a071321928f00d1b0c5207
Thu Oct 11 08:29:41 [initandlisten] build info: Linux domU-12-31-39-01-70-B4 2.6.21.7-2.fc8xen #1 SMP Fri Feb 15 12:39:36 EST 2008 i686 BOOST_LIB_VERSION=1_49
Thu Oct 11 08:29:41 [initandlisten] options: { config: "/etc/mongodb.conf", dbpath: "/var/lib/mongodb", logappend: "true", logpath: "/var/log/mongodb/mongodb.log" }
Thu Oct 11 08:29:41 [initandlisten] Unable to check for journal files due to: boost::filesystem::basic_directory_iterator constructor: No such file or directory: "/var/lib/mongodb/journal"
**************
Unclean shutdown detected.
Please visit http://dochub.mongodb.org/core/repair for recovery instructions.
*************
Thu Oct 11 08:29:41 [initandlisten] exception in initAndListen: 12596 old lock file, terminating
Thu Oct 11 08:29:41 dbexit:
Thu Oct 11 08:29:41 [initandlisten] shutdown: going to close listening sockets...
Thu Oct 11 08:29:41 [initandlisten] shutdown: going to flush diaglog...
Thu Oct 11 08:29:41 [initandlisten] shutdown: going to close sockets...
Thu Oct 11 08:29:41 [initandlisten] shutdown: waiting for fs preallocator...
Thu Oct 11 08:29:41 [initandlisten] shutdown: closing all files...
Thu Oct 11 08:29:41 [initandlisten] closeAllFiles() finished
Thu Oct 11 08:29:41 dbexit: really exiting now

编辑:

我解开了锁,然后进行了修理,得到了这个错误:

Thu Oct 11 12:05:37 [initandlisten] exception in initAndListen: 10309 Unable to create/open lock file: /data/db/mongod.lock errno:13 Permission denied Is a mongod instance already running?, terminating

所以我用了 sudo:

alex@alex-K43U:~$ sudo mongod --repair
Thu Oct 11 12:05:42
Thu Oct 11 12:05:42 warning: 32-bit servers don't have journaling enabled by default. Please use --journal if you want durability.
Thu Oct 11 12:05:42
Thu Oct 11 12:05:42 [initandlisten] MongoDB starting : pid=5129 port=27017 dbpath=/data/db/ 32-bit host=alex-K43U
Thu Oct 11 12:05:42 [initandlisten]
Thu Oct 11 12:05:42 [initandlisten] ** NOTE: when using MongoDB 32 bit, you are limited to about 2 gigabytes of data
Thu Oct 11 12:05:42 [initandlisten] **       see http://blog.mongodb.org/post/137788967/32-bit-limitations
Thu Oct 11 12:05:42 [initandlisten] **       with --journal, the limit is lower
Thu Oct 11 12:05:42 [initandlisten]
Thu Oct 11 12:05:42 [initandlisten] db version v2.2.0, pdfile version 4.5
Thu Oct 11 12:05:42 [initandlisten] git version: f5e83eae9cfbec7fb7a071321928f00d1b0c5207
Thu Oct 11 12:05:42 [initandlisten] build info: Linux domU-12-31-39-01-70-B4 2.6.21.7-2.fc8xen #1 SMP Fri Feb 15 12:39:36 EST 2008 i686 BOOST_LIB_VERSION=1_49
Thu Oct 11 12:05:42 [initandlisten] options: { repair: true }
Thu Oct 11 12:05:42 [initandlisten] Unable to check for journal files due to: boost::filesystem::basic_directory_iterator constructor: No such file or directory: "/data/db/journal"
Thu Oct 11 12:05:42 [initandlisten] finished checking dbs
Thu Oct 11 12:05:42 dbexit:
Thu Oct 11 12:05:42 [initandlisten] shutdown: going to close listening sockets...
Thu Oct 11 12:05:42 [initandlisten] shutdown: going to flush diaglog...
Thu Oct 11 12:05:42 [initandlisten] shutdown: going to close sockets...
Thu Oct 11 12:05:42 [initandlisten] shutdown: waiting for fs preallocator...
Thu Oct 11 12:05:42 [initandlisten] shutdown: closing all files...
Thu Oct 11 12:05:42 [initandlisten] closeAllFiles() finished
Thu Oct 11 12:05:42 [initandlisten] shutdown: removing fs lock...
Thu Oct 11 12:05:42 dbexit: really exiting now

但还是有同样的问题。

520332 次浏览

这个日志表明,由于存在一个旧的锁文件,mongodb 正在终止。

如果没有使用日志记录运行,请删除锁文件,运行修复程序,然后重新启动 mongodb。

如果您正在或正在打开日志运行,请参阅 相关的 Mongo DB 文件。请注意,它们说“如果您使用 Journal 运行,则不应该进行修复以恢复到一致的状态。”所以如果你在写日记修复可能会让事情变得更糟。

您可以使用 netstat -anp | grep 27017检查端口是否被其他进程使用。

在运行 mongo之前你运行了 mongod吗?

我遵循了来自 http://docs.mongodb.org/manual/tutorial/install-mongodb-on-os-x/的 mongodb 安装说明,只有在实际使用 mongod运行 mongo 进程之前运行 mongo时,才会出现与您相同的错误。我认为安装 mongodb 也会启动它,但是在做其他需要 mongodb 的事情之前,您需要使用 mongod手动启动它。

试试看

sudo service mongodb start

这解决了我的问题。

Step 1: Remove lock file.
sudo rm /var/lib/mongodb/mongod.lock


Step 2: Repair mongodb.
sudo mongod --repair


Step 3: start mongodb.
sudo start mongodb
or
sudo service mongodb start


Step 4: Check status of mongodb.
sudo status mongodb
or
sudo service mongodb status


Step 5: Start mongo console.
mongo

检查文件系统的可用空间,如果空间较小,则增加空间。这也可能导致蒙戈无法启动。检查/var/log/mongodb/mongodb.log 文件。

ERROR: Insufficient free space for journal files
Please make at least 3379MB available in /var/lib/mongodb/journal or use --smallfiles

试着在 mongo之前运行 mongod

sudo /usr/sbin/mongod在我的开幕式上

这解决了我的问题,

这对我很有效:

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

经过多次尝试,我终于解决了这个问题..。

Step 1: ps aux | grep mongo
Step 2: sudo rm /var/lib/mongodb/mongod.lock
Step 3: sudo mongod --repair
Step 4: mongo

我跟踪了 http://docs.mongodb.org/manual/tutorial/install-mongodb-on-red-hat/的医生。

配置并重新启动后,我执行 sudo service mongod start并得到 ... [FAILED]

最后,我发现 mongod已经启动了,我想 yum install把它加到了自动启动上。

检查您的 mongod是否正在运行: service mongod status

希望这能帮助有人有同样的问题。

在删除了我的 windows 操作系统中的 data 目录中的 mongod.lock 之后,它仍然显示相同的错误消息。我必须使用—— dbpath 运行 monGod 才能使 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

希望这个能帮到你。

此错误可能由 MongoDB 的绑定 IP 设置引起

$ sudo vi /etc/mongodb.conf

在我的示例中,绑定 IP 被设置为服务器的 Intranet 地址,如下所示:

bind_ip = 10.10.1.14
#port = 27017

所以我给 mongo 一个 IP 参数,通过类型连接到 shell:

$ mongo 10.10.1.14

如果更改了配置,不要忘记重新启动 mongodb 服务。

因此,首先必须通过以下命令删除 mongod.lock 文件

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

然后通过发出以下命令重新启动 mongo 服务

sudo service mongod restart

我有 mongo 版本3.2.1,必须从 /data/db/中删除锁文件,在此之后,运行 mongod并成功启动。

>rm /data/db/mongod.lock
>mongod

虽然答案已经收到,但我还是想讨论一下 MongoDB中的网络错误。

Network errors MongoDB

设置安全写关注点并不是确保安全的完全证明方法。让我们假设设置了 w=1j=true,如果没有从服务器收到写确认信息怎么办?很有可能根本没发生,但可能已经发生了。之所以会发生这种情况,是因为存在网络错误——我们可能得不到肯定的回应,这是有原因的。因此,我们可以通过所选语言的驱动程序从应用程序发送请求。mongod可以成功地完成它,然后可以有一个 TCP 重置,网络实际上可以得到重置的方式,我们从来没有收到响应。所以,我们可以得到一个错误,对于这个错误,我们可以假设我们得到了一个错误。它没有发生,但它可能会发生。

对于一个插入,它是可能的,以防止它。这是可能的,因为如果我们让驱动程序创建的 _id,我们做一个插入-然后我们可以这样做插入多次,这将是任何伤害。因为,如果我们执行这个1斯特时间,我们得到一个错误,我们不确定是否完成了插入,因为它是一个网络错误,那么我们可以再次执行。假设我们再执行一次,那么 tyr 将用完全相同的 _id执行它。最糟糕的情况是,当我们尝试插入时,会得到一个重复的键错误。

但是,更新是问题发生的地方。特别是,更新不是项强大的,例如包括一个 $ink命令。所以,我们告诉数据库增加一个特定的字段。在这种情况下,如果我们得到一个网络错误,我们不知道是否发生了更新。现在,也许我们对这些值已经有了足够的了解,可以用它们来检查更新是否发生了,这很好。但是如果我们不知道该字段在数据库中的起始值,那么在网络出错的情况下,我们就不可能知道它是否发生了。这种问题在一个良好的网络中是极其罕见的。

如果我们真的需要不惜一切代价避免它,那么我们需要做的就是把所有的更新转换成插入,通过从数据库中读取文档的完整值,然后潜在地删除它并再次插入它,或者只是插入一个新的。

即使写入成功,应用程序也可能收到错误返回的原因:

  • 应用程序和服务器之间的网络 TCP 连接在服务器接收到写操作之后但在可以发送响应之前被重置。
  • MongoDB服务器在接收写操作和响应写操作之间终止。
  • 从写入时间到客户端收到对写入的响应时间,网络发生故障。

在环境变量中将 bin 添加到 PATH 会有所帮助。

GOTO 安装路径并将. ./bin 复制到 Windows 环境变量中的 PATH 变量

在 Windows 中以管理员身份运行 cmd:

1. 创建目录:

mkdir c:\mongo\data\db

2. 安装服务:

mongod.exe --install --logpath c:\mongo\logs --logappend --bind_ip 127.0.0.1 --dbpath c:\mongo\data\db --directoryperdb

3. 开始 MongoDB:

net start MongoDB

4. Start Mongo Shell:

c:\mongo\bin\mongo.exe

这个办法对我很有效。

输入 < strong > windows + r 然后输入以下内容

服务,理学硕士

启动 MongoDB

现在在 cmd 中的 mongo.exe 所在的路径中输入“ mongo”,它将开始工作。

为了以后参考,请遵循以下步骤以避免类似的错误:

1. 下载 MondoDB Https://www.mongodb.com/

2.打开一个终端并将 cd 放入下载 文件夹或者任何你保存了 mondodb 下载的文件夹(确保在将 cd 放入之前解压出 mongodb 文件夹)

cd Downloads

3. 将 mongodb 移动到您的 usr/local 路径

sudo mv mongodb-osx-... /usr/local/mongodb

4.cd 到您的本地文件夹

cd /usr/local/mongodb

5. 创建一个新目录

sudo mkdir -p /data/db

6.cd 到上面刚刚创建的新目录中

cd /data/db

7、允许蒙古人

sudo chown YourMacUserName /data/db

8. 然后打开. bash _ profile

为此,请遵循以下步骤:

在你的 新的终端机

1 . cd 2 .pwd 3 . ls -l

检查. bash _ profile 是否出现在终端上的文件列表中

如果不创建-bash _ profile

创建. bash _ profile:

在你的终端里

Bash _ profile

如果已经有. bash _ profile,则跳过此步骤

Step8:

下一个 在你的终端机里:

open .bash_profile

在打开的 你的 bash 文件中添加以下内容:

MONGO_PATH=/usr/local/mongodb
export PATH=$PATH:$MONGO_PATH/bin

然后是 拯救(文件保存或命令 S/CMD + S)

第九步: 回到你的 晚期:

source .bash_profile

现在 打开两个终端.1代表你的 Mondo Daemon另一个代表你的 Mongo

一号客运大楼: 在你的终端类型: 蒙古

mongodb

产出: Mongod Terminal

二号客运大楼:

mongo

产出: Mongo terminal

还要确保在你的终端中启动你的蒙古语时不会出现以下错误: 这是错误的

mongo d

发出以下 错误: 未能连接到127.0.0.1:27017,in (轮询后检查套接字错误) ,原因: 连接被拒绝

这是正确的:

mongod

(单词 mongo 和 d.Mondod之间不应该有空格

最后总是记住,你必须 在终端上运行 mongo 之前先运行 mondo

1. 在 d 驱动器 D:/data/db 中创建新文件夹

2. 在 D:/data/db 上打开终端

3. 输入 monGod 然后输入。

4. 输入 mongo 并输入。

而你的蒙哥布已经..。

C:\Program Files\MongoDB\Server\4.0\bin运行 mongod --repair

这是 https://docs.mongodb.com/manual/tutorial/recover-data-following-unexpected-shutdown/医生

这对我有用 停止使用蒙哥布:

use admin
db.shutdownServer()

重新开始:

sudo service mongod restart

在终端运行这些命令

1)

$ sudo service mongod start

2)

 $ mongo

简单的运行两个建议

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

我得到了一个类似的错误,但根本原因是不同的。 在用自制程序安装完蒙哥布之后。 Https://docs.mongodb.com/manual/installation/ 我必须在终端发出“ mongo”命令之前启动“ monGod”服务。

如果您使用的是 OS X 系统,那么没有 service命令,因此无法执行 sudo service mongod start

检查这个答案 https://unix.stackexchange.com/a/155746为更多的帮助!

无法连接到服务器127.0.0.1:27017

这是为 WINDOWS 用户输入代码的解决方案 1. 创建目录:

mkdir c:\mongo\data\db
  1. 安装服务: 首先用 cd 打开 MongoDB 程序文件中的 bin 目录

mongod.exe --install --logpath

  1. 开始 MongoDB:

    net start MongoDB

4. Start Mongo Shell:

`c:\mongo\bin\mongo.exe` or

进入直到箱并输入 mongo

注意: 在管理员模式下打开终端

Ubuntu18.04 LTS: 当我完全卸载之前的版本并安装4.2.6时,问题出现了

经过人力资源部的搜索,我解决了另一个问题

MongoDB 启动失败-在 fast ()失败后 * * * 终止

我对 无法连接到服务器的问题感到绝望,因为一切看起来都很好。

最后,我决定重新启动操作系统,猜猜怎么着..

sudo mongo // works like a charm

试试看:

sudo service mongod restart

样品溶液 按 Window + R 键并输入 services.msc 查看计算机上的所有服务 然后找到 MongoDBServer,右键单击它并启动它。 然后转到 C: Program Files MongoDB Server 4.2 bin,在命令提示符下键入 mongo。

MAC 操作系统

如果你有 mac 并且正在使用 mongodb4.4, 你可以跑:

brew services start mongodb-community@4.4

第一次尝试:

sudo service mongod restart

如果出现错误: 从2021-03-29星期一19:59:07 WEST; 3s 开始,活动: 失败(结果: 退出代码)

这可能是因为/var/lib/mongodb 和/tmp/mongodb-27017上的权限设置。锁是错的。您必须将所有者更改为 monocgdb 用户

试试:

chown -R mongodb:mongodb /var/lib/mongodb
chown mongodb:mongodb /tmp/mongodb-27017.sock


sudo service mongod restart

在本地数据库 mongo 中,连接到127.0.0.1:27017: : 的错误被拒绝:

尝试使用这个命令

MonGod —— config/usr/local/etc/mongod.conf —— fork

这是我的工作,在 Linix Ubuntu 20上

  1. 修道系统开始修道
  2. Sudo system ctl 守护进程重载
  3. Sudo system ctl start monGod (YES AGAIN)
  4. Sudo system ctl status monGod (检查 mongo status!)
  5. Sudo Systemctl 启用 mongol
  6. Mongo

我的蒙神服务面具,我必须使用这个命令来删除它。

揭开蒙神的面具

然后重新启动服务

可能导致此错误的一个原因是 MongoDb Server 进程/服务没有运行。检查它是否正在运行,如果没有,那么您可以尝试从任务管理器启动 MongoDb 服务,如下面的快照所示。

enter image description here