mongodb3.0在mmapv1的存储引擎基础上添加了1个新的存储引擎WiredTiger。但是3.0的默许存储引擎照旧是mmapv1,因此我们项目之前也就用的默许方式。
但是mongodb更新实在太快,转眼间,从3.0直接跳到3.2,默许的存储引擎也改成了WiredTiger。听说这个引擎具有占用磁盘空间更小,占用内存空间更小,查询效力更高等1系列特点。
为了防患于未然,今天尝试了1下把3.0的数据复制到3.2中。由于之前都是用mongovue直接复制,但是新的存储引擎,mongovue连表都打不开,根本没法读取数据,因此只好在mongo shell中操作。
其中成功的操作步骤大致以下:
1、把mmapv1存储引擎存储的mongodb3.0.5数据库的数据使用mongodump的方式备份出来:
2、把数据以mongorestore的方式恢复到以WiredTiger存储引擎存储的mongodb3.2.7中:
注:两个
数据库都开启了用户验证,也都是以默许的存储引擎方式启动。不同的是,3.0.5中用户验证使用的是手动修改后的
MONGODB-CR验证方式,而3.2.7中则是SCRAM-SHA⑴默许的方式。