我有一个可以正常工作的mongod实例(v3.2.21)。
但是突然它停止工作了。当我运行mongo命令时,它抛出了以下错误:
2019-06-04T13:52:41.725+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
当我检查日志时,它显示:
2019-06-04T13:36:43.388+0000 E STORAGE [initandlisten] WiredTiger (2) [1559655403:388180][8404:0x7fb74e904c80], file:collection-1-1305830686620002691.wt, WT_SESSION.open_cursor: /mnt/volume-fra1-01//collection-1-1305830686620002691.wt: handle-open: open: No such file or directory
2019-06-04T13:36:43.388+0000 E STORAGE [initandlisten] no cursor for uri: table:collection-1-1305830686620002691
2019-06-04T13:36:43.388+0000 F - [initandlisten] Invalid access at address: 0x58
2019-06-04T13:36:43.398+0000 F - [initandlisten] Got signal: 11 (Segmentation fault).
数据目录中现在缺少先前存在的集合
我尝试使用--repair,但是这个过程在这个集合上停止了。
我已经看过各种资源,但不知道如何让它工作?有没有办法让wiredtiger逃脱这个收集?
发布于 2019-06-05 08:47:34
根据SERVER-19815,MongoD 4.0.3和更新版本具有更好的修复功能。
有一件事你可以试试:
dbpath
,因此如果尝试不成功,您不会损坏原始datadbpath
dbpath
的3.2.21二进制文件
请注意,此修复尝试是尽力而为的,不能保证成功。仍然建议使用最新的备份。您可能还想调查一下dbpath
是如何从一开始就丢失一个文件的。
https://stackoverflow.com/questions/56445562
复制相似问题