Mongodb中的repairDatabase():
官网定义: repairDatabase确认并修复数据存储中的错误和不一致的地方,类似于linux下的文件操作命令fsck 。当数据库被意外重启或破坏时,使用repairDatabase命令来确保数据完整。
实际操作:压缩数据库中所有的collections,等同于分别在每个collection上进行compact命令。减少了磁盘中数据文件的总大小,并且重建了数据库中的所有索引。
安全性:当使用repairDatabase 命令或者在shell命令中运行db.repairDatabase() 或者mongod –repair的过程中,清除的破损文件将不可恢复。Repair过程中,其他所有操作都无法执行,直到修复完成。
使用--repairpath <path>需要注意,这个路径需要放在dbpath的目录下,dbpath可在配置文件中查询到。\
eg: mongod--repair --dbpath /var/lib/mongodb/ --repairpath /var/lib/mongodb/test /
参考链接:https://docs.mongodb.org/manual/reference/command/repairDatabase/#