Mongodb2.6升级到Mongodb3.0.2
停止老版本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
一切正常,删除以前的目录,跟备份数据的目录。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。