mongodb导入导出数据

1.场景

想把远程服务器A中mongodb的某个数据库(或者多个)导入到远程服务器B的mongodb中

2.方法1

亲测一次性导入导出450G+文件无问题

windows的系统(安装有mongodb的服务)进入mongodb安装目录的bin目录下,dos窗口执行命令(windows)

导出数据
#从服务器88.88.88.88导出数据(数据库是名称叫db_name_server )到本地的D盘下的文件夹A_backup_mongo   

mongodump -h 88.88.88.88 --forceTableScan -d db_name_server -o D:/A_backup_mongo

导出数据,导出指定的表,添加 -c collectionname
mongodump -h 88.88.88.88 --forceTableScan -d db_name_server -c collectionname -o D:/A_backup_mongo


#导入数据
例从本地D盘下的文件夹A_backup_mongo拿数据,导入到服务器77.77.77.77(如果没有修改27017端口,那么导入命令无需指定端口)

mongorestore -h 77.77.77.77  D:/A_backup_mongo

#tip理论上,A_backup_mongo这个文件夹每次操作数据(导入导出)应为初始化状态,既空文件夹

如果目标服务器开启了密码验证,那么推送数据需要增加 -u  username   -p  password参数,如果磁盘设置到数据库路径那么需要指定数据库名称 -d dbname

mongorestore -h 77.77.77.77 -u  username   -p  password  D:/A_backup_mongo
mongorestore -h 77.77.77.77 -u  username   -p  password  -d dbname  D:/A_backup_mongo/dbname

3.方法2

拷贝data目录中对应的数据库文件到目标服务器的数据存储位置(测试mongo版本3.0,如果mongo为3.2及以上版本数据结构变成了块结构,需要筛选下数据)

缺点:

  1. 肉眼识别操作数据库,容易弄错。
  2. 操作完毕需要重启mongodb服务才可识别迁移过来的数据库,有违高可用场景。
  3. 需要登录mongodb所在服务器进行操作的相关权限,实际场景55开,可能没有操作权限的概率更大。

优点:

  1. 该方法的优势在于速度快,无需方法1中的过多的等待时间。
mongod --dbpath "D:\mongodb\data" --logpath "f:\mongodb\logs\mongo.log" --install --serviceName "MongoDB"

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值