PS:升级到3版本的Mongodb以后,drop集合是可以直接释放磁盘空间的

停止老版本Mongodb

>use admin
>db.shutdownServer();

下载解压新版本Mongodb

wget https://fastdl.mongodb.org/linux/mongodb-linux-i686-3.0.2.tgz
gzip -d mongodb-linux-i686-3.0.2.tgz
tar xvf mongodb-linux-i686-3.0.2.tar
mv mongodb-linux-i686-3.0.2 mongodb3.0.2

创建两个目录

mkdir data
mkdir logs

把老版本的Mongodb配置文件拷贝到新Mongodb目录

cp /data/mongodb2.6.4/mongodb.conf /data/mongodb3.0.2/

mongodb.conf内容示例:

bind_ip=127.0.0.1
port=27017
dbpath=/data/mongodb3.0.2/data/
logpath=/data/mongodb3.0.2/logs/mongodb.log
logappend=true
auth=true
fork=true

通过Mongodb3启动Mongodb准备备份

/data/mongodb3.0.2/bin/mongod --dbpath /data/mongodb2.6.4/data/

备份

/data/mongodb3.0.2/bin/mongodump --out /data/mongodb3.0.2/bak/

然后关闭数据库,重新启动,使用WiredTiger引擎

/data/mongodb3.0.2/bin/mongod --storageEngine wiredTiger --dbpath /data/mongodb3.0.2/data/

恢复数据

/data/mongodb3.0.2/bin/mongorestore /data/mongodb3.0.2/bak/

恢复完成以后,再停止Mongodb。

修改mongodb.conf

bind_ip=127.0.0.1
port=27017
dbpath=/data/mongodb3.0.2/data/
logpath=/data/mongodb3.0.2/logs/mongodb.log
logappend=true
auth=true
fork=true
storageEngine=wiredTiger

然后启动Mongodb

/data/mongodb3.0.2/bin/mongod --config /data/mongodb3.0.2/mongodb.conf
------分割线------结果------
about to fork child process, waiting until server is ready for connections.
forked process: 11197
child process started successfully, parent exiting

记得删除先前版本/usr/bin/mongo,把新版本的复制过去

测试了AUTH,一切正常,创建的账户也没丢失。

另外数据相比2版本的,确实占用了很少的空间。以后再也不会随随便便删除集合(释放空间很麻烦),删除数据库了。

[root@localhost mongodb3.0.2]# mongo
MongoDB shell version: 3.0.2
connecting to: test
> use datatest
switched to db datatest
> db.auth('admin','admin')
1

一切正常,删除以前的目录,跟备份数据的目录。

Update:

更新到Mongodb3.0.2版本以后,一切正常,在使用 mongostat的时候,不能像以前一样直接使用

mongostat -u admin -p admin

命令直接查看状态

显示如下:

# mongostat -u admin -p admin
2015-04-16T10:48:13.192+0800 --authenticationDatabase is required when authenticating against a non $external database

现在需要多加个参数“--authenticationDatabase”

命令如下:

# mongostat -u root -p root123 --authenticationDatabase=admin

测试的时候,还只能选择"admin"这个数据库,选择其他的数据库,用其他库的认证账户都不行

错误如下:

2015-04-16T10:49:57.912+0800    Failed: not authorized on admin to execute command { serverStatus: 1, recordStats: 0 }

或者

2015-04-16T10:51:17.267+0800    Failed: error connecting to db server: server returned error on SASL authentication step: Authentication failed.

mongotop命令也一样

另外竟然mongostat不显示操作的库名了。

Mongodb2.6升级到Mongodb3.0.2笔记的更多相关文章

  1. Mongodb3.0.6副本集+分片学习笔记

    一.使用问题记录 1. mongodb3.0.6使用mongostat参数 >./mongostat -h 127.0.0.1:27017 -u root -p 123456 /authenti ...

  2. gradle2.0笔记——让项目升级到gradle2.0

    昨晚看到QQ群消息说gradle2.0发布了,今天去看了一下,确实是昨天发布的,为rc版本:Gradle 2.0-rc-2.于是决定试一下. gradle可以在官网上下载,地址如下:http://ww ...

  3. mongodb3.0版本的2种引擎对比

    mongodb3.0以后 增加了wiredtiger引擎.常规引擎也升级到MMAPv1引擎(MongoDB2.6及以下版本用的是MMAP引擎):   mmapv1引擎:             col ...

  4. 记录一次MongoDB3.0.6版本wiredtiger与MMAPv1引擎的写入耗时对比

    一.MongoDB3.0.x的版本特性(相对于MongoDB2.6及以下): 增加了wiredtiger引擎: 开源的存储引擎: 支持多核CPU.充分利用内存/芯片级别缓存(注:10月14日刚刚发布的 ...

  5. mongodb3.0 性能測试报告 一

    mongodb3.0 性能測试报告 一 mongodb3.0 性能測试报告 二 mongodb3.0 性能測试报告 三 測试环境: 服务器:X86 pcserver   共6台 cpu:  单颗8核 ...

  6. HTTP2.0 简明笔记

    前言 RFC2616发布以来,一直是互联网发展的基石.HTTP协议也成为了可以在任何领域使用的核心协议,基于这个协议人们设计和部署了越来越多的应用.HTTP的简单本质是其快速发展的关键,但随着越来越多 ...

  7. ADT for Eclipse无法升级到23.0的解决方法(确保您的网络能够访问google的地址)

    进行以下步骤时,请确保您的网络能够访问google的地址,因为有可能是无法访问google地址导致无法升级,该文不是为了解决这个问题!!! 最近一次的升级,ADT无法从ADT 22.X升级到23.0. ...

  8. Oracle_RAC数据库GI的PSU升级(11.2.0.4.0到11.2.0.4.8)

    Oracle_RAC数据库GI的PSU升级(11.2.0.4.0到11.2.0.4.8) 本次演示为升级oracle rac数据库,用GI的psu升级,从11.2.0.4.0升级到11.2.0.4.8 ...

  9. MongoDB3.0新版本几点介绍

    2015年3月3号,MongoDB新版本3.0发布了,和以前版本相比,这次改动较大,主要有以下几个方面: 1. 引入了插件式的存储引擎架构,允许第三方根据实际项目的需要开发存储引擎,类似于MySql中 ...

随机推荐

  1. Epoll之ET、LT模式

    Epoll之ET.LT模式 在使用epoll时,在函数 epoll_ctl中如果不设定,epoll_event 的event默认为LT(水平触发)模式. 使用LT模式意味着只要fd处于可读或者可写状态 ...

  2. web项目学习之sitemesh

    sitemesh主要有三个主要文件:sitemesh.xml,decorators.xml和做布局用的jsp页面. 一.sitemesh.xml 对于sitemesh.xml这个文件,官方文档上说它不 ...

  3. Boa服务器在ARM+Linux上的移植

    下面给大家介绍一下Boa服务器移植的具体操作步骤,希望能够有帮助. 环境        主机:ubuntu8.10        交叉工具链:gcc-3.4.5-glibc-2.3.6         ...

  4. XtraReport交叉表隐藏列标题及自定义排序

    1.隐藏列标题 用DevExpress PivotGrid report 做报表的时候,将字段拖放到报表中后,ColumnArea和DataArea会显示两个标题字段,如下图: 选中交叉表,设置以下属 ...

  5. 树莓派入手(烧写系统,调整分区,配置Java环境,串口GPS配置) 分类: Raspberry Pi 2015-04-09 21:13 145人阅读 评论(0) 收藏

    原来的tf卡无故启动不起来,检查发现其文件系统分区使用率为0%. 数据全部丢失!!!!! 血的教训告诉我们备份文件系统的重要性,一切需要重头来.... 烧录系统 安装系统有两种方式, NOOBS工具安 ...

  6. android 51 有序广播

    无序广播:一条广播发送出去,多个接收者接收没有顺序.有序广播:广播接收者可以设置优先级,优先级高的先收到广播.有序广播可以设置优先级. mainActivity.java package com.sx ...

  7. Map 迭代 两种方法

    Map 迭代 两种方法 Map<String, String> map=new HashMap<String,String>(); map.put("1", ...

  8. Servlet 过滤器

    一.过滤器介绍 在Servlet 2.3中定义了过滤器,它能够对Servlet容器的请求和响应进行检查和修改. Servlet过滤器能够在Servlet被调用之前检查Request对象,并修改Requ ...

  9. Red Hat Enterprise Linux 6安装步骤

    首先,准备安装环境,此次实验是在VMware Workstation虚拟机环境下来实现的,下面就开始安装: 点击Create a New Vitrual Machine来新建一个虚拟机,选择自定义安装 ...

  10. equals函数的作用

    1.equals函数在什么地方 在Object类中,写法与==一样,但是我们用的时候要重写这个equals方法 String类型中的equals是复写好的 2.equals函数的作用 ==号在比较两个 ...