品易云推流 关闭
文章详情页
文章 > MongoDB > 如何修复mongodb?

如何修复mongodb?

MongoDB

头像

 Ly

2020-05-22 16:17:433038浏览 · 0收藏 · 0评论

1、首先停止mongodb服务,删除mongodb.log,也可以备份一下

# rm -rf  /data/mongodb/mongodb.log

2、删除mongodb进程文件

# rm -rf  /mongodb/mongod.lock

3、进行修复

# /usr/local/mongodb/bin/mongod --repair --dbpath /mongodb/ --repairpath /mongodb/repair/

如果后台执行

./mongod --repair --dbpath /data/dbdata --repairpath /data/repair/ --logpath /data/dblog/mongodbrepair.log --fork

这时mongodb进程会在/mongodb/repair/ 目录下储存临时的修复数据库文件,文件目录为“$tmp_repairDatabase_0”所以此目录空间要足够大。

生产环境数据库为100G,修复进行了大约3个半小时,在“/mongodb/repair/$tmp_repairDatabase_0"目录下产生了近30G的数据库临时文件,修复完成后数据库临时文件自动清除。

之后开启mongod服务,检查数据库,发现读写正常,mongodb.log没有出现错误。修复OK!

原理是:把数据重新读一遍,然后写到另一个库中

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图