• MongoDB学习系列(3)--解决MongoDB Unexpected Shutdown问题


    晚上准备继续学习PHP+MongoDB,点击Run_MongoDB_Service.bat文件,这个文件是我写的bat文件,就是快速启动MongoDB。但是命令行一闪而过,我很奇怪。昨天晚上写代码还是正常的,怎么今天用就不正常了。我只好手动敲一遍命令。界面好像和之前不一样,个人觉得应该是出错了。错误界面如下:

    image

    主要信息有2个:

    1.Unclean shutdown detected.

    2.可以恢复的参考:http://docs.mongodb.org/manual/tutorial/recover-data-following-unexpected-shutdown/

    Chrome打开网页,对MongoDB进行修复了。当然这个问题引起应该是MongoDB还正在运行,然后我就关机了。我关机时,即使电脑提醒我有程序还在运行,我基本都是点继续。估计这个Unexpected Shutdown是这个引起。参考给出,如果你开启了MongoDB Journaling或者是replica set(复制集),就应该使用Replica Set Syncing(复制集同步功能)。但是我在使用过程中未开启Journaling,也没有配置replica set。

    刚开始觉得,不就是文件有损坏吗?直接删除data目录下的所有文件。我后来想《MongoDB实战》书上不就说了,MongoDB有着极强故障迁移和恢复机制,不如直接动手来恢复直接的数据。步骤给出的很详细,不过有一点要说明。在步骤中,让我们新建一个data0的文件,我以为恢复好之后,新文件会存在data0文件夹中,然后我按照步骤修复完成之后,我发现data0文件夹中为空,我一度以为我修复失败了。后来我按照网页步骤,成功的恢复了数据库。

    特别提示:第二步才能删除mongod.lock文件。

    image

    高祥同学对文档进行了一下中文翻译。网页本身是在Linux上进行的,但是windows系统下改变一下目录就ok。好了,解决好这个问题,继续学习MongoDB。

  • 相关阅读:
    二级菜单jquery
    js二级导航
    append appendChild appendTo区别
    cssText在 IE6/7/8和chrome/Firefox/IE9+的不同
    cssText
    css slice和splice
    js字符串函数之substring() substr()
    js字符串函数之split()join()
    Python面向对象之:三大特性:继承,封装,多态以及类的约束
    Python3 面向对象之:多继承
  • 原文地址:https://www.cnblogs.com/liminjun88/p/3254218.html
Copyright © 2020-2023  润新知