mongodb4.0 数据迁移

前言

我们的mongodb使用的是阿里云的云数据库 mongodb4.0

昨天新买的mongo需要把旧的mongo做一次迁移,发现阿里云的dts还不支持4.0版本,于是要自己动手迁移了.

创建数据库及账号

用root账号连上新开通的mongodb,然后新建我们要的数据库efiles,用户:efile,密码:123456,授权角色:dbOwner及readWrite
注意: 一定要设置readWrite,发现阿里云的dts如果没有设置readWrite会无法对接

use efiles
db.createUser({user:"efile",pwd:"123456",roles:["dbOwner","readWrite"],mechanisms:["SCRAM-SHA-1"]});

备份旧库数据

备份及恢复请参考: https://help.aliyun.com/document_detail/60157.html?spm=a2c4g.11186623.2.20.19bde71fn0Ian0#concept-uvj-jgd-5fb

mongodump及mongorestore 需要下载mongodb安装包(ZIP包) https://www.mongodb.com/download-center/community
解压后,在bin目录下就有mongodb及mongorestore
mongodb4.0 数据迁移_第1张图片
打开powershell切换到mongodb的bin目录,执行mongodump

./mongodump --host dds-xxxxxxxx.mongodb.rds.aliyuncs.com --port 3717  -u efile  --authenticationDatabase  efiles

提示需要输入密码,输入对应用户的密码即可备份到当前目录的下:dump目录

mongodb4.0 数据迁移_第2张图片

恢复数据到新库

./mongorestore --host dds-yyyyyyy.mongodb.rds.aliyuncs.com --port 3717 -u efile --authenticationDatabase efiles ./dump/

同样提示输入密码,密码输入正确后就执行恢复脚本,注意目录是 ./dump/,我第一次目录写的是 ./dump/efiles/ 执行失败的

验证数据是否同步

数据验证,我这边主要是通过旧库与新库数据量的对比,通过对大部分collection查询数据条数 db.getCollection('xxx').find({}).count(),然后通过站点访问相关数据看看有没有问题

你可能感兴趣的:(mongo,mongo,数据迁移,4.0)