无法访问mongodb shell和mongo错误

时间:2018-02-12 20:27:43

标签: node.js mongodb ubuntu

我在this教程之后安装了mongo,除了我用pm2运行服务,因为我实际上可以告诉我对pm2做了什么。

然后我一直在尝试关注this教程,但我甚至无法访问shell。

我尝试了以下命令,但没有一个能够工作:

./bin/mongo会导致找不到文件错误,无论是在我的项目文件中,还是在/var/lib/mongodb文件夹中,因为db应该“安装”

此外

mongo localhost:27017 (or just mongo)

原因

MongoDB shell version: 3.2.19
connecting to: test
2018-02-12T20:15:59.009+0000 W NETWORK  [thread1] Failed to connect to 127.0.0.1:27017, in(checking socket for error after poll), reason: errno:111 Connection refused
2018-02-12T20:15:59.009+0000 E QUERY    [thread1] Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed :
connect@src/mongo/shell/mongo.js:229:14
@(connect):1:6

exception: connect failed

我的日志文件(来自/var/log/mongodb/mongod.log)可以找到here。我确实对此感到困惑:

  1. 为什么关闭
  2. 为什么host = GraphicsApplications?这是我在机器上删除的旧文件夹。这是我第一次试图实现这一目标但当时我正在使用mlab托管我的数据库。它列出的文件夹/名称不再存在。出于某种原因,尽管终端中每一行的开头都是root @ GraphicsApplications。不知道这个名字来自哪里......也许我把这个名字命名为?
  3. 最终,我不确切知道该教程是如何让我安装mongodb的。当然我安装了包装和一切,但我不觉得我真的创造了任何东西,如果这是有道理的。

    值得注意的是pm2确实将mongod应用程序的状态显示为“错误”,但我不确定为什么或者它保持多久。

    我只是想让我的数据库在我自己的Linux机器上运行,而不是在mlab上运行。我有一切与mlab一起工作,但现在想要在localhost上托管我的数据库。

2 个答案:

答案 0 :(得分:0)

关于未找到的文件:

尝试从cmd行开始运行:

which mongo

如果没有显示任何结果,那么你的PATH env变量中的mongo二进制文件就没有了,在这种情况下试试

find / -name “mongo*”

然后应该显示你的mongo二进制文件的安装位置。

如果你知道二进制文件的安装位置,那么运行:

./bin/mongo

假设你在mongo home dir,所以你需要跑;

/var/lib/mongodb/bin/mongo

关于拒绝连接

可以是iptables规则,尝试禁用它并启动mongo

 sudo ufw disable

<强> HOSTFILE

注释掉这个

127.0.1.1 GraphicsApplications

并更改/添加此

127.0.0.1 localhost localhost.localdomain

根据:https://jira.mongodb.org/plugins/servlet/mobile#issue/SERVER-20952

答案 1 :(得分:0)

在日志中查看您的主机名是host=GraphicsApplications 但是在您的实际主机文件中,您有127.0.1.1 GraphicsApplications GraphicsApplications

在您的主机文件中将此行编辑为127.0.1.1 GraphicsApplications

然后保存文件并重新运行mongod。希望应该这样做。