mongodb从2.6升级到3.0在linux下的操作实现
2015-12-29 00:00
736 查看
摘要: 原文地址: http://www.cnblogs.com/TeaIng-Index/p/4429256.html?utm_source=tuicool&utm_medium=referral
停止老版本Mongodb
下载解压新版本Mongodb
创建两个目录
把老版本的Mongodb配置文件拷贝到新Mongodb目录
mongodb.conf内容示例:
通过Mongodb3启动Mongodb准备备份
备份
然后关闭数据库,重新启动,使用WiredTiger引擎
恢复数据
恢复完成以后,再停止Mongodb。
修改mongodb.conf
然后启动Mongodb
记得删除先前版本/usr/bin/mongo,把新版本的复制过去
测试了AUTH,一切正常,创建的账户也没丢失。
另外数据相比2版本的,确实占用了很少的空间。以后再也不会随随便便删除集合(释放空间很麻烦),删除数据库了。
一切正常,删除以前的目录,跟备份数据的目录。
Update:
更新到Mongodb3.0.2版本以后,一切正常,在使用 mongostat的时候,不能像以前一样直接使用
命令直接查看状态
显示如下:
现在需要多加个参数“--authenticationDatabase”
命令如下:
测试的时候,还只能选择"admin"这个数据库,选择其他的数据库,用其他库的认证账户都不行
错误如下:
或者
mongotop命令也一样
另外竟然mongostat不显示操作的库名了。
停止老版本Mongodb
1 2 | >use admin >db.shutdownServer(); |
1 2 3 4 | 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 |
1 2 | mkdir data mkdir logs |
1 | cp /data/mongodb2.6.4/mongodb.conf /data/mongodb3.0.2/ |
1 2 3 4 5 6 7 | 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 |
1 | /data/mongodb3.0.2/bin/mongod --dbpath /data/mongodb2.6.4/data/ |
1 | /data/mongodb3.0.2/bin/mongodump --out /data/mongodb3.0.2/bak/ |
1 | /data/mongodb3.0.2/bin/mongod --storageEngine wiredTiger --dbpath /data/mongodb3.0.2/data/ |
1 | /data/mongodb3.0.2/bin/mongorestore /data/mongodb3.0.2/bak/ |
修改mongodb.conf
1 2 3 4 5 6 7 8 | 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 |
1 2 3 4 5 | /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 |
测试了AUTH,一切正常,创建的账户也没丢失。
另外数据相比2版本的,确实占用了很少的空间。以后再也不会随随便便删除集合(释放空间很麻烦),删除数据库了。
1 2 3 4 5 6 7 | [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的时候,不能像以前一样直接使用
1 | mongostat -u admin -p admin |
显示如下:
1 2 | # mongostat -u admin -p admin 2015-04-16T10:48:13.192+0800 --authenticationDatabase is required when authenticating against a non $external database |
命令如下:
1 | # mongostat -u root -p root123 --authenticationDatabase=admin |
错误如下:
1 | 2015-04-16T10:49:57.912+0800 Failed: not authorized on admin to execute command { serverStatus: 1, recordStats: 0 } |
1 | 2015-04-16T10:51:17.267+0800 Failed: error connecting to db server: server returned error on SASL authentication step: Authentication failed. |
另外竟然mongostat不显示操作的库名了。
相关文章推荐
- mongodb从2.6 升级到3.0
- MongoDB for PHP扩展操作类
- Mongodb 笔记01 MongoDB 简介、MongoDB基础知识、启动和停止MongoDB
- PHP操作Mongodb之增删改查篇
- PHP操作Mongodb之高级查询篇
- java mongodb 增删改查 工具类
- MongoDB学习笔记(转)
- java 操作mongodb查询条件的常用设置
- mongodbTemplate查询
- MongoDB在java中的使用
- CentOS6上mongodb连接数无法突破1000的解决办法
- 利用bat批处理做启动mongodb脚本
- windows下MongoDB的安装及配置
- Windows 下安装MongoDB
- mongodb3.2.0数据库集群搭建
- MongoDB 分片
- Linux下定时切割Mongodb数据库日志并删除指定天数前的日志记录(转)
- mongodb在centos 6上的安装部署
- c#_使用官方驱动操作mongodb数据库
- 每天200亿次查询 – MongoDB在奇虎360【转】