mongodb2.4版本跨版本升级

一,mongodb 2.4版本

1,mongodb2.4版本的下载

git clone https://github.com/mongodb/mongo.git
安装相关依赖:
sudo yum install -y mongodb-org-2.6.7 mongodb-org-server-2.6.7 mongodb-org-shell-2.6.7 mongodb-org-mongos-2.6.7 mongodb-org-tools-2.6.7

2,数据兼容性问题

linux版本下载:https://www.mongodb.org/dl/linux/x86_64

参考资料:https://blog.csdn.net/weixin_33724046/article/details/89435219?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase

参考资料:https://yq.aliyun.com/articles/50887

2.4版本升级到3.0的话由于数据兼容性的问题,需要先升级到2.6版本,再升级至3.0

3,安装过程

1,解压缩安装包,tar xzvf mongodb-linux-x86_64-v2.4-latest.tgz;
把mongodb相关可执行文件拷贝到系统目录,方便直接执行。cd mongodb-linux-x86_64-v2.4-2013-03-20/bin && mv * /usr/local/bin/;
2,创建数据库存储目录,mkdir -p /var/db/mongodb;
3,创建日志存储目录,mkdir -p log/mongodb;
4,后台启动mongodb服务:
# ./mongod --dbpath /usr/local/src/db/mongo --logpath /usr/local/src/log/mongo.log --logappend --fork

注意:日志是文件形式存在

4,插入部分数据

show dbs
use mydb
db
j = { name : "mongo" }
k = { x : 3 }
db.testData.insert( j )
db.testData.insert( k )
show collections

for (var i = 1; i <= 25; i++) {
   db.testData.insert( { x : i } )
}
db.testData.find()

二,mongodb 2.6版本

1,下载2.6版本并解压

linux版本下载:https://www.mongodb.org/dl/linux/x86_64
tar zxvf mongodb-linux-x86_64-2.6.7.tgz

mv /usr/local/src/mongo2.6/mongodb-linux-x86_64-2.6.7/ /usr/local/mongo2.6.7

2,备份2.4版本的数据

2.1 mongodump备份数据

mongodump语法:
>mongodump -h dbhost -d dbname -o dbdirectory
-h:
MongDB所在服务器地址,例如:127.0.0.1,当然也可以指定端口号:127.0.0.1:27017 
-d:
需要备份的数据库实例,例如:test 
-o:
备份的数据存放位置,例如:c:\data\dump,当然该目录需要提前建立,在备份完成后,系统自动在dump目录下建立一个test目录,这个目录里面存放该数据库实例的备份数据。 

实例:
>mongodump
执行以上命令后,客户端会连接到ip为 127.0.0.1 端口号为 27017 的MongoDB服务上,并备份所有数据到 bin/dump/ 。命令输出结果如下

2.2 恢复备份数据

>mongorestore -h <hostname><:port> -d dbname <path>
--host <:port>, -h <:port>:
MongoDB所在服务器地址,默认为: localhost:27017 
--db , -d :
需要恢复的数据库实例,例如:test,当然这个名称也可以和备份时候的不一样,比如test2 
--drop:
恢复的时候,先删除当前数据,然后恢复备份的数据。就是说,恢复后,备份后添加修改的数据都会被删除,慎用哦!
<path>:
mongorestore 最后的一个参数,设置备份数据所在位置,例如:c:\data\dump\test。
你不能同时指定 <path> 和 --dir 选项,--dir也可以设置备份目录。
--dir:
指定备份的目录
你不能同时指定 <path> 和 --dir 选项。

2.3 对mongodb2.4版本进行升级

1,备份后停掉mongo2.4版本;
2,使用老版本的数据和日志目录,增加--upgrade参数
/usr/local/mongodb2.6/mongod --dbpath /usr/local/src/db/mongo --logpath /usr/local/src/log/mongo.log --logappend --fork --uprade
完成升级操作,并没有启动mongodb;
3,等升级完成用新的bin文件启动mongodb,这次就不用带--upgrade参数了
/usr/local/mongodb2.6/mongod --dbpath /usr/local/src/db/mongo --logpath /usr/local/src/log/mongo.log --logappend --fork
查看数据库信息已经升级到了新版本

3,将mongo 2.6版本升级到3.2版本

3.1 升级过程

升级步骤
1,停掉原来的mongo;
2,将Mongo2.6版本数据全备份;
3,将3.2版本bin替换原来的bin文件来启动;
4,# /usr/local/src/mongo3.2/bin/mongod --dbpath /usr/local/src/db/mongo --logpath /usr/local/src/log/mongo.log --logappend --fork
5,进入mongo,查看数据库
show dbs;
查看数据集合:show collections
查看集合数据:db.testData.find()

3.2 mongodb

升级需要在两个相近版本之间进行。如 3.2 无法直接升级到 4.0,需要从 3.2 到 3.4,从 3.4 到 3.6,从 3.6 到 4.0 之间逐个升级。

参考文档:https://www.jianshu.com/p/da298a653e1b
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值