一,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