Mongodb mongod src/mongo/db/storage/wiredtiger/wiredtiger\u kv\u engine.cpp无文件

Mongodb mongod src/mongo/db/storage/wiredtiger/wiredtiger\u kv\u engine.cpp无文件,mongodb,Mongodb,我真的对这件事很感兴趣,找不到解决办法。我已经通过brew卸载了Homebrew和Mongo。似乎没有什么能解决它。任何帮助都将不胜感激 2017-08-03T20:29:40.017-0400 I CONTROL [initandlisten] MongoDB starting : pid=7684 port=27017 dbpath=/data/db 64-bit host=Matts-MacBook-Pro.local 2017-08-03T20:29:40.017-0400 I CON

我真的对这件事很感兴趣,找不到解决办法。我已经通过brew卸载了Homebrew和Mongo。似乎没有什么能解决它。任何帮助都将不胜感激

2017-08-03T20:29:40.017-0400 I CONTROL  [initandlisten] MongoDB starting : pid=7684 port=27017 dbpath=/data/db 64-bit host=Matts-MacBook-Pro.local
2017-08-03T20:29:40.017-0400 I CONTROL  [initandlisten] db version v3.4.6
2017-08-03T20:29:40.017-0400 I CONTROL  [initandlisten] git version: c55eb86ef46ee7aede3b1e2a5d184a7df4bfb5b5
2017-08-03T20:29:40.017-0400 I CONTROL  [initandlisten] OpenSSL version: OpenSSL 1.0.2l  25 May 2017
2017-08-03T20:29:40.017-0400 I CONTROL  [initandlisten] allocator: system
2017-08-03T20:29:40.017-0400 I CONTROL  [initandlisten] modules: none
2017-08-03T20:29:40.017-0400 I CONTROL  [initandlisten] build environment:
2017-08-03T20:29:40.017-0400 I CONTROL  [initandlisten]     distarch: x86_64
2017-08-03T20:29:40.017-0400 I CONTROL  [initandlisten]     target_arch: x86_64
2017-08-03T20:29:40.017-0400 I CONTROL  [initandlisten] options: {}
2017-08-03T20:29:40.018-0400 I STORAGE  [initandlisten] wiredtiger_open config: create,cache_size=3584M,session_max=20000,eviction=(threads_min=4,threads_max=4),config_base=false,statistics=(fast),log=(enabled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000),checkpoint=(wait=60,log_size=2GB),statistics_log=(wait=0),
2017-08-03T20:29:40.019-0400 E STORAGE  [initandlisten] WiredTiger error (2) [1501806580:19955][7684:0x7fffbdc783c0], file:WiredTiger.wt, connection: /data/db/WiredTiger.wt: handle-open: open: No such file or directory
2017-08-03T20:29:40.029-0400 I -        [initandlisten] Assertion: 28595:2: No such file or directory src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp 269
2017-08-03T20:29:40.029-0400 I STORAGE  [initandlisten] exception in initAndListen: 28595 2: No such file or directory, terminating
2017-08-03T20:29:40.029-0400 I NETWORK  [initandlisten] shutdown: going to close listening sockets...
2017-08-03T20:29:40.029-0400 I NETWORK  [initandlisten] removing socket file: /tmp/mongodb-27017.sock
2017-08-03T20:29:40.029-0400 I NETWORK  [initandlisten] shutdown: going to flush diaglog...
2017-08-03T20:29:40.029-0400 I CONTROL  [initandlisten] now exiting
2017-08-03T20:29:40.029-0400 I CONTROL  [initandlisten] shutting down with code:100

我还得花4个多小时才能找到你提出的解决方案。在我的情况下,堆栈跟踪与您的情况相同

我使用了MongoDB4.2。但我需要把它降级到MongoDB 3.4。降级至3.4级后,可以看到上述错误。然后我再次将MongoDB更新为4.2。还是有那个错误

尝试了许多关于堆栈溢出的解决方案,但都没有解决我的问题。作为我的最后一个选择,我运行下面的命令

mongod --dbpath /data/db --repair 
但它也不起作用。 我的
/data/db
目录中有一些文件

它们是WiredTiger、WiredTiger.lock、WiredTiger.turtle、diagnostic.data、journal和mongod.lock

已删除
/data/db
目录中的所有文件

rm -rf /data/db/*
如果您不是root用户,请使用
sudo
运行上述命令

然后我再次运行
mongod--dbpath/data/db--repair
命令

然后我可以通过运行
mongod--dbpath/data/db
成功地启动MongoDB


不要忘记将
bin/mongod
添加到.bash_配置文件中的路径(如果您使用的是Mac)。

没有这样的目录
/data/db
。这实际上是一个常见的问题。实际上,在错误消息
中没有这样的文件或目录
并不是说文件夹不存在,而是说wired tiger文件丢失了。感谢您的帮助实际上错误是目录不存在,这可能是最可能的原因。如果它实际上是存在的,并且可以通过权限访问,并且其中有一些内容,那么就有一些您没有提到的严重错误。如果实际上这是一个“新安装”,则建议清除目录的所有内容,并让启动程序创建“新”数据文件。通常,正确的安装甚至不使用
/data/db
,而是有一个备用位置。因此,如果错误消息中出现该选项,则表明您只是在命令上运行
mongod
,如“无其他选项”。您可能应该返回并参考安装说明,同时查看上的文档以及与通常如何运行MongoDB相关的文档。@sold有关如何解决此问题的信息。我也面临同样的问题