运行Mongodb时出现NonExistentPath:找不到数据目录/ data / db。

时间:2018-09-13 15:38:01

标签: node.js mongodb

执行sudo mongod执行时产生的错误

2018-09-13T20:56:08.259 + 0530 I CONTROL [initandlisten] MongoDB开始:pid = 3419 port = 27017 dbpath = / data / db 64位主机= admin         2018-09-13T20:56:08.260 + 0530 I CONTROL [initandlisten]数据库版本v3.6.7
        2018-09-13T20:56:08.260 + 0530 I CONTROL [initandlisten] git版本:2628472127e9f1826e02c665c1d93880a204075e         2018-09-13T20:56:08.260 + 0530 I CONTROL [initandlisten] OpenSSL版本:OpenSSL 1.0.1f 2014年1月6日         2018-09-13T20:56:08.260 + 0530我控制[initandlisten]分配器:     tcmalloc         2018-09-13T20:56:08.260 + 0530 I CONTROL [initandlisten]模块:无         2018-09-13T20:56:08.260 + 0530我控制了[initandlisten]构建环境:         2018-09-13T20:56:08.260 + 0530我控制了[initandlisten] distmod:ubuntu1404         2018-09-13T20:56:08.260 + 0530 I CONTROL [initandlisten] distarch:x86_64         2018-09-13T20:56:08.260 + 0530我控制了[initandlisten] target_arch:x86_64         2018-09-13T20:56:08.260 + 0530 I CONTROL [initandlisten]选项:{}         2018-09-13T20:56:08.312 + 0530我在initAndListen中存储了[initandlisten]异常:NonExistentPath:找不到数据目录/ data / db。         2018-09-13T20:56:08.312 + 0530 I CONTROL [initandlisten]现在退出         2018-09-13T20:56:08.312 + 0530我控制[initandlisten]关闭,代码为100

我是MEAN堆栈应用程序开发的初学者,因此遇到了这个错误。请帮我。预先感谢

4 个答案:

答案 0 :(得分:1)

此解决方案解决了我的问题

  1. 将目录设为

    sudo mkdir -p / data / db

  2. 将创建一个名为db的目录,然后尝试以命令开头

    sudo mongod

如果您在启动mongod时遇到其他错误或问题,则可能会发现问题

  

无法设置侦听器:SocketException:地址已在使用中   如果您发现另一个错误,则必须通过输入终端为

来终止mongod的运行过程
ps ax | grep mongod

找到mongod运行端口并终止该进程。

sudo kill ps_number 

另一种方法是在启动mongod时创建一个专用端口

sudo mongod --port 27018

答案 1 :(得分:0)

只要运行

sudo mkdir -p /data/db

在运行mongoDB服务器的计算机上

答案 2 :(得分:0)

在执行任何其他解决方案之前,请参阅我的答案enter image description here。 也许是由于过时的选项或格式更改而导致您的conf文件被拒绝。

答案 3 :(得分:0)

不要在不同的本地磁盘位置运行 mongod。

例如。我的电脑有两个本地磁盘:

1.) 本地磁盘 E: - 驱动器 :(当我在 E: 驱动器上运行 mongod 或定位本地 E 磁盘上的任何位置时,我将收到错误消息)

Admin@DESKTOP-CJBHIMO MINGW64 /e/Full-Stack-Developer
$ mongod
...
{"t":{"$date":"2021-03-22T11:33:26.675+05:30"},"s":"E",  "c":"STORAGE",  "id":20557,   "ctx":"initandlisten","msg":"DBException in initAndListen, terminating","attr":{"error":"NonExistentPath: Data directory E:\\data\\db\\ not found. Create the missing directory or specify another path using (1) the --dbpath command line option, or (2) by adding the 'storage.dbPath' option in the configuration file."}}
...
{"t":{"$date":"2021-03-22T11:33:26.677+05:30"},"s":"I",  "c":"CONTROL",  "id":23138,   "ctx":"initandlisten","msg":"Shutting down","attr":{"exitCode":100}}

{"error":"NonExistentPath: 数据目录 E:\data\db\ 未找到。

2.) 本地磁盘 C: - 驱动器 : (当我在 C: 驱动器上运行 mongod 时,我推荐使用,因为,我们主要按照说明在 C: 驱动器上安装 mongodb。如果在您的情况下,您安装在另一个驱动器上,然后在 hyper 上在该驱动器的文件夹上运行 mongod。例如,当我在 C 上运行 mongod 时:

Admin@DESKTOP-CJBHIMO MINGW64 ~/Desktop
$ mongod

{"t":{"$date":"2021-03-22T00:52:23.840-07:00"},"s":"I",  "c":"STORAGE",  "id":22270,   "ctx":"initandlisten","msg":"Storage engine to use detected by data files","attr":{"dbpath":"C:/data/db/","storageEngine":"wiredTiger"}}
...
{"t":{"$date":"2021-03-22T11:34:59.300+05:30"},"s":"I",  "c":"NETWORK",  "id":23016,   "ctx":"listener","msg":"Waiting for connections","attr":{"port":27017,"ssl":"off"}}

"msg":"数据文件检测到的存储引擎","attr":{"dbpath":"C:/data/db/","storageEngine":"wiredTiger"}}

整个示例基于 Windows 10。它在根目录上运行成功,因为它位于 C: 磁盘中。进入根目录:

cd ~
mongod

您需要执行以上步骤以防止错误。