`
wb284551926
  • 浏览: 551339 次
文章分类
社区版块
存档分类
最新评论

如何正确关闭MongoDB(转载)

阅读更多
由于被同事kill -9后导致MongoDB瘫痪
错误:Error: error doing query: failed

首先MongoDB使用mmap方式进行数据文件管理,也就是说写操作基本是在内存中进行,写操作会被每隔60秒(syncdelay设定)的flush到磁盘里。如果在这60秒内flush处于停止事情我们进行kill -9那么从上次flush之后的写入数据将会全部丢失。
如果在flush操作进行时执行kill -9则会造成文件混乱,可能导致数据全丢了,启动时加了repair也无法恢复。

避免方法
第一种 使用正确的关闭方法
官方文档说明要使用 kill -15,killall mongod或者在client的shell里,use admin,执行db.shutdownServer()即可!
第二种
通过replication 使用 一个slave,或者用replica set 来避免单结点数据丢失。
第三种 1.7以后出现类似于binlog的功能
在 MongoDB 1.7 版本的最新分支上,就出现了一个新的数据可靠性选项(–dur)的支持。并且在数据文件修复工具上也有了一些改进。
 
如果在启动MongoDB时加上–dur 则MongoDB 会在进行写操作前记一份日志,这和在其他一些数据库中的binlog 类似,在MongoDB 数据文件损坏的情况下,可以使用此日志来进行恢复。据说其对性能的影响不大。
--EOF--
分享到:
评论

相关推荐

    一键启动/关闭MongoDB

    一键启动/关闭MongoDB

    Mongodb连接池for java

    了解并正确使用MongoDB的Java连接池对于提高应用程序性能和稳定性至关重要,特别是在高并发的Web应用或大数据处理项目中。因此,深入理解连接池的工作原理和配置方法,对于任何MongoDB Java开发者来说都是必要的技能...

    linux安装mongodb教程

    /usr/local/mongodb/mongodb-linux-2.0.7/bin/mongod --dbpath=/usr/local/mongodb/data/db --logpath=/usr/local/mongodb/mongodb-linux-2.0.7/logs/mongodb.log --logappend --port=27017 --fork 知识点 6:配置...

    mongodb.dll 下载.zip

    正确理解和使用`mongodb.dll`和相应的MongoDB驱动程序是开发和维护MongoDB应用程序的基础。确保你始终使用与MongoDB服务器版本兼容的驱动,以保证最佳的性能和稳定性。在进行任何系统更改前,建议先备份重要数据,...

    mongodb-测试数据

    MongoDB是一种流行的开源、分布式文档数据库,常被用于构建高性能、可扩展的应用程序。这个“mongodb-测试数据”压缩包显然包含了一些用于测试MongoDB功能的样例数据集,特别是针对增、删、改、查(CRUD)操作的学习...

    MongoDB实验 - .docx

    MongoDB 实验报告 本实验报告旨在详细介绍 MongoDB 的安装、配置和基本操作步骤,本报告基于 CentOS 7 系统,通过一步一步的截图和文字说明,帮助读者快速掌握 MongoDB 的使用。 一、安装 MongoDB 首先,我们需要...

    MongoDB图形化管理工具 MongoDB Compass

    MongoDB图形化管理工具 MongoDB Compass

    Linux安装mongodb客户端

    sudo vim /etc/yum.repos.d/mongodb-org-4.2.repo 写入: [mongodb-org-4.2] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.2/x86_64/ gpgcheck=1 enabled=1 gpg...

    MongoDB安装包

    3. 创建数据目录:MongoDB需要一个数据存储目录,比如`/data/db`,并确保该目录有正确的权限。 4. 启动MongoDB服务:进入解压后的bin目录,运行`mongod`命令启动MongoDB服务器。如果需要后台运行,可以添加`--fork ...

    MongoDB应用设计模式:MongoDB Applied Design Patterns

    - **错误处理与异常捕获**:在应用中正确处理MongoDB操作的错误,提高系统的健壮性。 通过阅读《MongoDB应用设计模式:MongoDB Applied Design Patterns》,开发者可以深入了解MongoDB的设计原则、最佳实践以及在...

    mongodb1067错误解决1

    如果MongoDB意外关闭或未正常关闭,可能会留下该锁文件,阻止MongoDB服务再次启动。 **步骤:** 1. **定位文件位置**:根据您的MongoDB安装路径找到数据文件夹,通常这个文件夹会在安装目录下的`data`文件夹内。 2...

    MongoDB4.2.21 Linux版本安装包

    2. **Mongos**:在分片环境中,Mongos作为路由进程,负责将客户端请求路由到正确的分片服务器。 3. **Mongo shell**:这是一个JavaScript交互式命令行工具,用于与MongoDB服务器进行交互,执行管理任务和查询。 4....

    MongoDB之conf配置文件详解

    MongoDB的关闭数据文件预分配是指mongoDB服务器的数据文件预分配设置。这个设置非常重要,因为它将影响mongoDB的性能和可靠性。在生产环境中,通常将关闭数据文件预分配设置为true,以提高性能和可靠性。 十七、为...

    MongoDB入门指南.pdf

    MongoDB入门指南 MongoDB是一种开源的文档类型数据库,它具有高性能、可扩展、高可用、自动收缩等特性。MongoDB能够避免传统的ORM映射,从而有助于开发。MongoDB中的每一行记录就是一个文档,它是一个由键值对构成...

    mongodb Windows7 64位

    MongoDB是一款开源、高性能、无模式的文档型数据库,它在现代应用程序开发中扮演着重要的角色,特别是在处理大量非结构化数据时。针对"mongodb Windows7 64位"这个主题,我们将深入探讨MongoDB在Windows 7 64位操作...

    DBeaver新增MongoDB驱动

    MongoDB驱动

    mongodb数据库jar包

    MongoDB是一个流行的开源、分布式文档型数据库,设计用于处理大量数据并提供高可用性和高性能。在Java应用程序中,为了与MongoDB进行交互,我们需要使用Java MongoDB驱动程序。这个压缩包包含的就是Java连接MongoDB...

    spring-data使用mongodbTemplate对MongoDB进行读写操作

    Spring Data MongoDB是一个强大的Java库,它为开发人员提供了一种简单的方式来访问和操作MongoDB数据库。这个库是Spring Data框架的一部分,旨在简化数据访问层的实现,尤其在使用NoSQL数据库如MongoDB时。MongoDB...

    mongodb c#驱动最新驱动mongodb.driver.dll 版本2.12.0-beta1

    MongoDB 是一个流行的开源、基于分布式文件存储的数据库系统,主要设计用于处理大量数据的分布式环境。C# 驱动是 MongoDB 提供的一种客户端库,允许 .NET 开发者与 MongoDB 数据库进行交互。标题提到的是 MongoDB 的...

Global site tag (gtag.js) - Google Analytics