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

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

主要信息有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文件。

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

时间: 2024-10-29 01:07:18

MongoDB学习系列(3)--解决MongoDB Unexpected Shutdown问题的相关文章

MongoDB学习系列(2)--使用PHP访问MongoDB

第一部分:介绍 在Windows上安装最新 MongoDB步骤非常的简单,这里不做介绍.但是如果你安装的时候没有将MongoDB作为服务运行,每次你都要使用cmd切换到指定的目录下,然后在 cmd中启动MongoDB服务,然后再使用另外一个cmd运行Javascript Shell.所以我自己创建了2个.bat文件来简化这个操作. Run_MongoDB_Service.bat代码为: d: cd d:\mongodb\bin mongod --dbpath d:\mongodb\data Ru

MongoDB学习系列(1)--入门介绍

1.MongoDB主要特性: 1.1文档数据模型 不需要和关系数据库一样,显示一个示 例文档数据时,需要多张表,并且需要这些表之间通过主外键关联起来.同时数据库不需要schema.所以对那些schema经常变化,或者web应用程序 开发初期来说,MongoDB有很大的优势.所有的数据都可以存在一条记录中,不需要为每个"列"设置数据类型. 1.2 支持即时查询,保留的关系型数据的即时查询的能力,不同于k-v数据库,只能查询键. 1.3 二级索引 MongoDB中的二级索引是通过B树实现的

MongoDB学习笔记(四) 用MongoDB的文档结构描述数据关系

MongoDB的集合(collection)可以看做关系型数据库的表,文档对象(document)可以看做关系型数据库的一条记录.但两者并 不完全对等.表的结构是固定的,MongoDB集合并没有这个约束:另外,存入集合的文档对象甚至可以嵌入子文档,或者"子集合".他们最终都可以用类似 于BJSON的格式描述.我们今天就来分析MongoDB这一特性带来的独特数据管理方式.我们还是以samus驱动为例来分析,samus驱动支持两种 方式访问数据库,基本方式和linq方式,基本方式在上篇以介

MongoDB学习笔记(四) 用MongoDB的文档结构描述数据关系_服务器其它

MongoDB的集合(collection)可以看做关系型数据库的表,文档对象(document)可以看做关系型数据库的一条记录.但两者并不完全对等.表的结构是固定的,MongoDB集合并没有这个约束:另外,存入集合的文档对象甚至可以嵌入子文档,或者"子集合".他们最终都可以用类似于BJSON的格式描述.我们今天就来分析MongoDB这一特性带来的独特数据管理方式.我们还是以samus驱动为例来分析,samus驱动支持两种方式访问数据库,基本方式和linq方式,基本方式在上篇以介绍过,

mongodb学习笔记-tina

mongodb mongodb是面向文档的数据库,不是关系型数据库.基本思路是将原来的"行row" 概念换成更加灵活的"文档"document模型.  关于MongoDB的好处,优点之类的这里就不说了,唯一要讲的一点就是MongoDB中有三元素:数据库,集合,文档,其中"集合"就是对应关系数据库中的"表","文档"对应"行". --- [root@viptest2 bin]# ll mo

MongoDB学习笔记(一) MongoDB介绍与安装方法

最近开始学习非关系型数据库MongoDB,却在博客园上找不到比较系统的教程,很多资料都要去查阅英文网站,效率比较低下.本人不才,借着自学的机会把心得体会都记录下来,方便感兴趣的童鞋分享讨论   一.前言 最近开始学习非关系型数据库MongoDB,却在博客园上找不到比较系统的教程,很多资料都要去查阅英文网站,效率比较低下.本人不才,借着自 学的机会把心得体会都记录下来,方便感兴趣的童鞋分享讨论.部分资源出自其他博客,旨将零散知识点集中到一起,如果有侵犯您的权利,请联系li- pan2@163.co

MongoDB学习笔记(一) MongoDB介绍与安装方法_服务器其它

一.前言 最近开始学习非关系型数据库MongoDB,却在博客园上找不到比较系统的教程,很多资料都要去查阅英文网站,效率比较低下.本人不才,借着自学的机会把心得体会都记录下来,方便感兴趣的童鞋分享讨论.部分资源出自其他博客,旨将零散知识点集中到一起,如果有侵犯您的权利,请联系li-pan2@163.com.大部分内容均系原创,欢迎大家转载分享,但转载的同时别忘了注明作者和原文链接哦. 二.MongoDB简介 MongoDB是一个高性能,开源,无模式的文档型数据库,是当前NoSql数据库中比较热门的

node.js操作mongodb学习小结

  node.js操作mongodb学习小结          这篇文章主要介绍了node.js操作mongodb学习小结,本文给出了mongodb创建数据库.插入数据以及连接mongodb数据库并查询数据等代码实例,需要的朋友可以参考下 一.准备工作 1.在mongodb创建将要读取的表 创建数据库mongotest 代码如下: use mongotest; 向user表中插入数据 代码如下: db.user.insert({ name:'flyoung', age:'18', sex:tru

MongoDB学习笔记—Linux下搭建MongoDB环境_MongoDB

1.MongoDB简单说明 a MongoDB是由C++语言编写的一个基于分布式文件存储的开源数据库系统,它的目的在于为WEB应用提供可扩展的高性能数据存储解决方案. b MongoDB是一个介于关系型数据库和非关系型数据库之间的产品,是非关系型数据库当中功能最丰富,最像关系型数据库的.它支持的数据结构非常松散,会将数据存储为一个文档,数据结构由键值对(key=>value)组成,是类似于json的bson格式, c MongoDB最大的特点就是它支持的查询语言非常强大,其语法有点类似于面向对象