前言

       MongoDB数据库的版本为3.0.7。记录在使用MongoDB数据库时遇到的各种问题,目前是遇到一个整理一个,没有进行分类,等整理较多的时候,进行分类整理一下。

1.使用可视化工具连接时,身份验证失败,Authorization failed

       当使用MongoVUE或者Robomongo连接数据库时,验证失败。

解决办法

(1)首先,关闭集群服务器,以非身份验证启动集群

(2)然后,登陆一个mongos和每个分片服务器,修改admin数据库下的system.version集合,原先为{"currentVersion" : 5}。db.system.version.update({ "_id" : "authSchema"},{$set: {"currentVersion" : 3} })

(3)最后,在修改版本后重新建立所有用户,重新启动集群并加上身份验证即可。

原因

       这和MongDB的验证机制有关,3.0开始默认使用的验证模式为SCRAM-SHA-1(currentVersion=5),2.6以前使用的是MONGODB-CR(MongoDB Challenge and Response) (currentVersion=3)验证方式。

       3.0的bug:https://jira.mongodb.org/browse/SERVER-17459

2.集群分片失败

有以下几个原因:

(1)保证服务器端口都通,关闭防火墙吧,systemctl stop firewalld

(2)保证服务器时间最好差小于30秒

date -s '05/24/2016 15:27:05'      ntpdate –u x.x.x.x

(3)数据量太少没达到分片要求

3.TTL索引失效

有以下几个原因:

(1)保证建TTL索引的字段是日期类型,若用数组,保证数组包含日期类型的数据

(2)建立索引时使用expireAfterSeconds全拼,不能缩写如下

db.coll.ensureIndex({"ttlkey":1},{"expireAfterSeconds":60*60*12}) 过期时间为 12h

4.怎么关闭集群

       按照mongos-config-shard的顺序关闭集群,登录相应的数据库,选择admin数据库,使用db.shutdownServer()关闭服务。

       如果启用了身份验证,切记启用前就创建了admin用户,不只是mongos创建,各分片服务器也要创建。

5.mongod服务启动失败

有以下几个原因:

(1)确定数据目录是否存在

(2)查看--dbpath 目录下的mongod.lock文件,此文件大小若不是0,表示上次是非正常退出数据库,此时有两种方法,一是直接删除此文件,二是修复数据库(repair database)

6.mongod服务启动时警告信息

(1)WARNING: You are running on a NUMA machine.

       这是由多核CPU引起的,解决办法是进入mongodb安装目录的bin目录,使用numactl --interleave=all ./mongod 启动mongod服务

(2)WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
       WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.

       使用以下命令直接关闭即可:

       # echo never >/sys/kernel/mm/transparent_hugepage/enabled
       # echo never >/sys/kernel/mm/transparent_hugepage/defrag

MongoDB-常见问题的更多相关文章

  1. MongoDB副本集配置系列九:MongoDB 常见问题

    What is a namespace in MongoDB? If you remove a document, does MongoDB remove it from disk? When doe ...

  2. mongodb常见问题

    1.count统计结果错误 这是由于分布式集群正在迁移数据,它导致count结果值错误,需要使用aggregate pipeline来得到正确统计结果,例如: db.collection.aggreg ...

  3. mongodb 常见问题处理方法收集

    问题1:非正常关闭服务或关机后 mongod服务无法正常启动 在使用中发现mongodb 的服务可能因为非正常关闭而启动不了,这时我们通过 删除data目录下的 *.lock文件,再运行下/mongo ...

  4. MongoDB 常见问题 - 解决找不到 mongo、mongod 命令的问题

    问题背景 成功安装 MongoDB 后执行 Mongo.MongoD 显示找不到命令 解决方案 echo 'export PATH="/usr/local/opt/mongodb-commu ...

  5. MongoDB 常见问题 - 解决 brew services list 查看 MongoDB 服务 status 显示 error 的问题

    问题背景 将 MongoDB 作为服务运行 brew services start mongodb-community@4.4 也显示运行成功了,但是查看服务列表的时候,发现 MongoDB 服务的还 ...

  6. .Net Core 操作 MongoDB 常见问题及解决方案

    System.FormatException:"Element '_id' does not match any field or property of class XXXX." ...

  7. MongoDB的环境搭建及启动

    MongoDB环境搭建及配置 一.环境搭建 Mac:brew install mongodb 常见问题: Error: Permission denied @ unlink_internal 解决方案 ...

  8. NodeJs操作MongoDB之分页功能与常见问题

    NodeJs操作MongoDB之分页功能与常见问题 一,方法介绍 1,聚合操作之count count()方法可以查询统计符合条件的集合的总数 db.User.count(<query>) ...

  9. NodeJs操作MongoDB之多表查询($lookup)与常见问题

    NodeJs操作MongoDB之多表查询($lookup)与常见问题 一,方法介绍 aggregate()方法来对数据进行聚合操作.aggregate()方法的语法如下 1 aggregate(ope ...

  10. 常见问题:MongoDB基础知识

    常见问题:MongoDB基础知识 ·MongoDB支持哪些平台? ·MongoDB作为托管服务提供吗? ·集合(collection)与表(table)有何不同? ·如何创建数据库(database) ...

随机推荐

  1. ASP.NET MVC Ajax.ActionLink 简单用法

    ASP.NET MVC 项目中,如何使用类似于 iframe 的效果呢?或者说 Ajax 局部刷新,比如下面操作: 我们想要的效果是,点击 About 链接,页面不刷新(地址栏不变),然后下面的内容进 ...

  2. T-Sql(六)触发器(trigger)

    不知不觉讲到触发器了,一般我们做程序的很少接触到触发器,触发器的操作一般是DB人员来完成. 然而有的时候一些简单的业务需要我们自己去完成,不能每次都去麻烦DB人员,所以说,编程人员要全才,除了编程以为 ...

  3. c/c++ 函数、常量、指针和数组的关系梳理

    压力才有动力,15年中旬就要准备实习,学习复习学习复习学习复习学习复习……无限循环中,好记性不如烂笔头……从数组开始,为主干. c 的array由一系列的类型相同的元素构成,数组声明包括数组元素个数和 ...

  4. Web接口测试工具---Poster与Postman

    工作当中有不少时间在编写和维护接口自动化测试用例.打算先整理一些接口相关工具的使用. 简单对接Web口测试的相关工具/技术做个划分. HTTP/SOAP协议接口的功能测试: 1.浏览器URL(GET请 ...

  5. 读谭浩强C语言数据结构有感(1)

    1.什么是数据结构? 数据结构,就是我们计算机内部的运算,编程语言的基础工作模式吧,个人总结的 = = !! 数据:说简单一点,就是计算机二进制机器码,然后通过一些复杂的操作,变为复杂的语言. 数据元 ...

  6. mysql小数格式化正确方法

    用到小数格式化,mysql了解很肤浅,只会简单的sql语句,于是百度,发现大家都是转载同一个文章,好无语. 而且,结果验证还是不正确,查了官方api,终于写出来了. 另外,还是保存下百度的几个方法: ...

  7. Python_Day_05 计数器(counter),有序字典(OrderDict),默认字典(defaultdict),可命名元祖(namedtuple),双向队列(deque),单项队列(deuqe.Queue)

    Counter(计数器) 是一个字典的子类,存储形式同样为字典,其中存储的键为字典的元素,值为元素出现的次数,在使用之前我们需要先导入文件 import collections 初始化一个计数器 im ...

  8. Openfire 4.1.0

    http://www.igniterealtime.org/downloads/index.jsp 服务器端口 接口 端口   类型 描述 所有的地址 5222 客户端到服务器 客户端使用标准端口连接 ...

  9. 解决Android工程里的xml文件自动提示问题

    昨天晚上看某培训机构的Android的 视频教程,看到他在写布局的XML文件时,有很方便的自动提示功能.我就在自己的Eclipse里试了一下,可是我的没实现.就到网上查,很多都说:在 Window-& ...

  10. 【C#进阶系列】25 线程基础

    线程的概念 线程的职责是对CPU进行虚拟化. CPU为每个进程都提供了该进程专用的线程(功能相当于cpu),应用程序如果进入死循环,那么所处的进程会"冻结",但其他进程不会冻结,它 ...