原因:mongodb不正常关闭造成的mongodb被锁定,这算是一个Mongod 启动的一个常见错误,非法关闭的时候,lock 文件没有remove,第二次启动的时候检查到有lock 文件的时候,就报这个错误了。

solution(查看log可以发现):
1)首先删除/var/lib/mongo/目录下的mongod.lock文件
rm /var/lib/mongo/mongod.lock
2) repair方式启动mongodb
mongod -f /etc/mongod.conf --repair
3) 再启动一次mongodb
这里一定要再启动一次,不然启动client端仍然连不到server
mongod -f /etc/mongod.conf

也可以重新指定一个repairPath

mongod --dbpath /etc/mongo/db --repair --repairPath /etc/mongo/db0

mongod --dbpath /etc/mongo/db --repair --repairPath /etc/mongo/db0

查了查mongodb的文档,遂用以下方法进程修复:

首先停止mongod服务,删除 mongodb.log,也可以备份一下
# rm -rf  /data/mongodb/mongodb.log

删除mongodb进程文件
# rm -rf  /mongodb/mongod.lock

进行修复

# /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!

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

删除MongoDb安装目录下的 mongod.lock 文件和日志文件 mongodb.log
rm -rf logs/
rm -rf /usr/local/mongodb/data/mongod.lock
mkdir -p /storage/mongodb/tmp/./mongodb/bin/mongod --repair --dbpath /usr/local/mongodb/data/ --repairpath /storage/mongodb/tmp/
正常关闭
killall mongod
启动./mongodb/bin/mongod --dbpath=/usr/local/mongodb/data/ --logpath=/usr/local/mongodb/logs/mongodb.log -logappend -fork -port=28314

转载于:https://my.oschina.net/u/3367404/blog/3102232

mongodb被锁定 --repair相关推荐

  1. mongodb异常恢复 --repair

    mongodb异常恢复 构造mongdb异常 启动mongodb,bash mongodb.sh + View Code server.py 脚本 + View Code 写入数据的时候,不断杀mon ...

  2. 使用机器学习模型预测贷款资格

    介绍(Introduction) Loans are the core business of banks. The main profit comes directly from the loan' ...

  3. MongoDB 数据文件损坏修复救命repair与致命危险

    最近,一客户单实例mongodb数据库,没有备份的情况下遇到了断电导致的数据文件损坏,由于客户业务需要 及数据的不敏感性,要求尽快恢复业务,使用了Mongdb的自动修复repair命令进行修复.可喜的 ...

  4. MongoDB学习指导

    原文地址:http://blog.csdn.net/jakenson/article/details/7060431 MongoDB的内部构造<MongoDB The Definitive Gu ...

  5. 关于Mongodb的全面总结

    MongoDB的内部构造<MongoDB The Definitive Guide> MongoDB的官方文档基本是how to do的介绍,而关于how it worked却少之又少,本 ...

  6. 关于Mongodb的全面总结,学习mongodb的人,可以从这里开始!

    转载地址:http://blog.csdn.net/he90227/article/details/45674513 原文地址:http://blog.csdn.NET/jakenson/articl ...

  7. MongoDB 全面总结

    原文地址:http://blog.csdn.net/jakenson/article/details/7060431 MongoDB的内部构造<MongoDB The Definitive Gu ...

  8. MongoDB全面总结

    原文地址:http://blog.csdn.net/jakenson/article/details/7060431 MongoDB的内部构造<MongoDB The Definitive Gu ...

  9. Mongodb从这里开始

    原文地址:http://blog.csdn.net/jakenson/article/details/7060431 MongoDB的内部构造<MongoDB The Definitive Gu ...

最新文章

  1. GCC中通过--wrap选项使用包装函数
  2. java最后一个注解@SuppressWarnings
  3. 生产订单结算KKS1常见错误
  4. Android之单复选框及Spinner实现二级联动
  5. BZOJ 2326: [HNOI2011]数学作业( 矩阵快速幂 )
  6. VBScript在服务器上创建目录
  7. mysql 重试_重试MySQL/SQLAlchemy的死锁
  8. mysql schema table_关于数据库中table与schema的区别详解
  9. stc8g1k08程序范例_通过WiFi对STC单片机程序下载和调试
  10. v$session v$session_wait
  11. 汽车平顺性与仿真分析matlab,基于matlab的汽车平顺性的建模与仿真.docx
  12. Hbase对应的Hadoop兼容版本
  13. javascript中引号嵌套
  14. .net core websocket
  15. python可以下载百度文库_用Python爬取百度文库0下载券的免费文档详细步骤,附可执行软件...
  16. Oracle:表或视图不存在
  17. java程序设计——实验四
  18. 【GitHub报错】You have not concluded your merge (MERGE_HEAD exists).解决方法
  19. 基于android的旅游酒店管理
  20. AurixDevStudio集成MCAL

热门文章

  1. 软件测试---沟通技能总结
  2. NVIDIA-TLT训练行人检测模型(一)----算法模型的训练(finetuning)
  3. 基于python的数据爬虫学习与体会
  4. xshell免费版下载教程
  5. xshell 免费版本下载
  6. 搜集源码之github搜索语法,网盘搜索,搜索引擎等
  7. 0. DRF之软件开发模式CBV源码解析
  8. android画板案例
  9. 项目:私“图”定制——利用ffmpeg制作Gif
  10. 如何选择适合你的兴趣爱好(一),拉丁舞