文件系统上的mongo数据库文件夹在哪里


19

我正在使用Ubuntu 16.04。我已经建立了一个数据库MongoDB。当我使用mongod命令启动它时,它说数据库位于/data/dbdbpath=/data/db)。

数据库工作正常。但是在文件资源管理器中,我找不到该文件夹​​。我查看了Computer文件夹和HomeComputer/home/<my name>)文件夹。

我还使用Ctrl + H显示了隐藏的文件和文件夹。

如何找到我的数据库文件夹?

Answers:


24

您应该能够在配置文件中找到位置: /etc/mongod.conf

grep dbPath /etc/mongod.conf

根据mongodb docs

默认路径是/data/db目录

默认情况下,MongoDB在端口27017上侦听来自客户端的连接,并将数据存储在/ data / db目录中。

如果dbPath设置为,则mongodb将使用由指定的目录dbPath

如果要将mongod数据文件存储在其他路径之外/data/db ,则可以指定一个dbPath。在dbPath你开始之前必须存在 mongod。如果不存在,请创建目录和权限,以便mongod可以在此路径中读取和写入数据。有关权限的更多信息,请参见安全操作文档。


1
我找到了/etc/mongod.conf(注意没有“ b”字母)。它说:存储:dbPath:/ var / lib / mongodb。该文件夹看起来像是数据库。变量也是dbPath(大写的“ P”)。但是,为什么当我启动mongod时会说dbpath = / data / db呢?
croraf

@croraf- /data/db是路径的默认值,如果dbPath设置,它将覆盖此值。请注意,为了/data/db用作实际路径,该文件夹应该存在并且具有正确的所有权/权限。看到链接更新的答案,MongoDB的文档
亚龙

谢谢!问题是mongod命令输出“ MongoDB开始:pid = 2722端口= 27017 dbpath = / data / db 64位主机= korisnik-Lenovo-Y520-15IKBN”,指示dbpath是/ data / db。尽管这可能是默认路径,但db starting命令应指示实际路径,在我的情况下为/ var / lib / mongodb。
croraf

2
@croraf /etc/mongod.conf配置仅在以下情况下使用:将MongoDB作为服务启动或在命令行上明确传递此服务mongod --config /etc/mongod.conf。如果开始时mongod没有任何选项,/data/db则将使用默认值。如果您mongod在Ubuntu上作为服务启动,dbPath则将按照/etc/mongod.conf/var/lib/mongodb默认情况下)中的指定。通常,您希望将MongoDB作为服务进行管理,以确保在两次调用之间使用一致的配置。
Stennie

@Stennie是的,似乎mongod是在OS启动时启动的(您称之为“即服务”)。这让我感到困惑。我今天将进行检查,但是可能运行mongod会给出错误,表明该端口已绑定。
croraf

1

对于上述问题,尽管他们已经提供了一些答案,但也请允许我提出以下说明:

使用linux(Ubuntu)时,安装mongodb时,它将自动配置并默认运行。缺省dbpath位于中mongodb.conf。当您查看文件时,将看到以下几行:

   # Where to store the data
     bdpath=/var/lib/mongodb

现在,基于mongodb doc

默认路径是[应该是] /data/db目录,但是如果该文件夹不存在,mongodb将从mongodb.conf文件中给定的路径启动。

该怎么办:

  1. 停止你的mongodb
  2. 创建您的默认数据文件夹
  3. 重新启动mongodb:这次它将从您创建的数据开始。


-1

尝试file:///data/db/在浏览器中输入(chrome或fire-fox)。如果已mongodb安装在系统中,则可以查看文件和集合,但是所有文件和集合都将被加密,无法在编辑器中读取它们。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.