【问题标题】:How to repair MongoDb when someone deleted one database directory from the db directory?当有人从 db 目录中删除一个数据库目录时,如何修复 MongoDb?
【发布时间】:2020-04-23 05:25:51
【问题描述】:

当我们配置 --directoryperdb 时,有人从 MongoDb 的 dbpath 中删除了一个数据库目录。 是否有任何选项可以忽略该数据库,我可以启动服务器。目前 mongod --repair 给予

2020-04-22T15:19:56.118+0000 E STORAGE [initandlisten] WiredTiger 错误 (2) [1587568796:118648][22758:0x7fd9688ad580],文件:Test/collection-556-3480094503407958 80.wt,WT_SESSION.salvage:/home/dbdir/db/Test/collection-556-348009450340795880.wt:handle-open:打开:没有这样的文件或目录 2020-04-22T15:19:56.121+0000 I - [initandlisten] 不变故障 rs.get() src/mongo/db/catalog/database.cpp 195

当尝试启动服务器时,它给出了分段错误。有什么办法可以修复数据库。

【问题讨论】:

    标签: mongodb


    【解决方案1】:

    Test是被删除的数据库吗?

    进行备份后,用 grep 搜索剩余的树以查找引用它的其他文件,并尝试删除这些文件。

    【讨论】:

    • 比如我保留了Test,数据库是用--directoryperdb创建的,整个目录被删除,剩下的文件都是.wt文件。是否有任何选项可以修复 MongoDb 跳过该数据库?
    • 您可以尝试删除引用已删除数据库的文件。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-07
    • 1970-01-01
    • 2011-10-23
    • 2012-05-11
    • 1970-01-01
    • 2018-12-23
    相关资源
    最近更新 更多