zszdevelop大约 1 分钟

mongodb异常关闭后,如何修复启动

1. 背景

当独立的mongod实例禁用日记功能时,不正常的关闭可能会使数据处于不一致状态。异常关闭后,如果存在非空的mongod.lock文件,则mongod实例在重新启动时记录以下消息:

Detected unclean shutdown - mongod.lock is not empty.

如果dbPath包含非空的mongod.lock文件,则必须修复数据库

不要使用本教程恢复replica setopen in new window的成员。相反,您应该从backupopen in new window恢复,或者从集合的另一个成员重新同步,如重新同步副本集的成员open in new window中所述。

默认情况下,MongoDB 在启用journalingopen in new window的情况下运行,以防止在关闭时出现数据不一致的情况。要彻底关闭,请参阅停止 mongod 进程open in new window

2. 以--repair 启动 mongod

要修复数据文件,请使用--repair选项启动mongod实例。默认情况下,在修复操作期间,MongoDB 使用--dbpath中的_tmp目录。

发出类似于以下内容的命令:

mongod --dbpath /data/db --repair

完成后,dbpath应包含已修复的数据文件和一个空的mongod.lock文件。

参考文章

意外关闭后恢复独立服务器open in new window

Loading...