mongo入门四:mongodb 复制远程和本地数据库

本文介绍了在MongoDB 4.0之后,如何使用mongodump和mongorestore命令来替代已废弃的db.copyDatabase方法进行数据库的备份与恢复。详细阐述了mongodump和mongorestore的使用参数,如-h, -d, -o, -path, --dir等,并提到了--archive, --nsFrom和--nsTo选项在跨实例复制数据库和集合中的应用。" 124808516,13540528,链队列的实现与特性,"['数据结构', '链表', '队列']

mongo4.0之前,复制数据库和集合可以用命令:db.copyDatabase,该命令的详细使用可以参考以下博客:
mongodb 复制远程和本地数据库 db.copyDatabase

可是4.0以后,db.copyDatabase废弃掉了,官方推荐的是使用mongodump and mongorestore 命令。我们来看看这两个命令的具体用法:

mongodump :备份mongo数据至指定的文件夹,示例如下:

mongodump  -h 127.0.0.1:27017 -d test -o /data/test

-h:服务器地址,例如:127.0.0.1,当然也可以指定端口号:127.0.0.1:27017
-d:需要备份的数据库实例,例如:test
-o:备份的数据库存放位置,例如:/data/test

mongorestore :恢复备份的数据,示例如下:

mongorestore -h 127.0.0.1:27017 -d test <path>

-h:服务器地址,例如:127.0.0.1,当然也可以指定端口号:127.0.0.1:27017

-d :需要恢复的数据库实例,例如:test,当然这个名称也可以和备份时候的不一样,比如test2

path:mongorestore 最后的一个参数,设置备份数据所在位置,例如:/data/test

你不能同时指定 path 和 --dir 选项,–dir也可以设置备份目录。

–dir:指定备份的目录

如果需要同mongo实例拷贝数据库和集合或者从一个mongo实例拷贝数据库和集合到另外一个实例中,可以组合这两个命令即可实现

mongodump --archive --db=test | mongorestore --archive  --nsFrom='test.*' --nsTo='examples.*'

其中
–archive :
对于mongodump ,指的是将归档文件转储到指定的路径,如果在没有指定值的情况下指定了flag,则将归档文件写入stdou;对于mongorestore ,则是从归档文件中还原存储数据,如果在没有指定值的情况下指定了flag,则从stdin读取归档。

–nsFrom:原数据库及集合
–nsTo:目标数据库及集合

参考链接:

MongoDB 备份(mongodump)与恢复(mongorestore)
https://docs.mongodb.com/manual/release-notes/4.0-compatibility/#copydb-and-clone-commands

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值