Mongodump和Mongorestore实践总结

mongodb的数据转储除了使用compass图形界面导出导入json或csv文件这种方式,还有命令行方式(效率比较高且可压缩,对于远程传输mongo数据hin友好),即今天介绍的mongodump和mongorestore。

我们的需求是先用dump导出数据(指定的数据库或者集合),导出的数据是个以数据库名命名的文件夹,里面是集合数据,每个集合对应两个文件,.bson和.metadata.json。使用压缩命令可以将.bson等文件压缩。

然后使用restore命令将该文件中包含的集合信息导入到指定数据库。

以下是两个命令的例子和参数介绍:

Mongodump

(使用前提是安装mongodb database tools,将其生成的各种exe文件复制到mongodb的bin目录中,同时bin要加入系统变量中以免在cmd运行时出错)

常用命令分析

mongodump  -h localhost -d hosp_aixin -c details -o G:\000

mongodump --gzip -h localhost -d hosp_aixin -c details -o G:\000

-h:

MongoDB 所在服务器地址,例如:127.0.0.1(localhost),当然也可以指定端口号:127.0.0.1:27017

-d:

需要备份的数据库实例,例如:hosp_aixin

-c:

需要精确到集合(collection),例如:details

-o:

备份的数据存放位置,例如:G:\000,当然该目录需要提前建立.

--gzip:

将文件压缩为.gz压缩文件,省空间。

-h, --host=<hostname>           MongoDB服务器的地址,默认为localhost

-p, --port=<port>               MongoDB服务器的端口号,默认为27017

-d, --db=<database>             需要备份的数据库名称

-c, --collection=<collection>   需要备份的集合名称,不指定时默认备份全库

-u, --username=<username>       登录MongoDB服务器的用户名

    --password=<password>       登录MongoDB服务器的密码

-o, --out=<directory>           备份数据的目录路径

-q, --query=<query>             指定查询条件

--ssl                           使用SSL连接到MongoDB服务器

--sslCAFile=<filename>          SSL CA证书文件路径

--sslPEMKeyFile=<filename>      SSL PEM证书文件路径

--sslPEMKeyPassword=<password>  SSL PEM证书密码

--authenticationDatabase=<database>  认证数据库的名称

--gzip                          备份数据时使用gzip进行压缩

--archive=<filename>            将备份数据保存到归档文件中

--quiet                         禁止输出日志信息

Mongorestore

如果是将dump好的集合导入到指定数据库,不用指定数据库下的集合名,也不用创建集合。

mongorestore --db xiaoshanyiyuan G:\000\hosp_aixin

mongorestore --gzip --db xiaoshanyiyuan G:\000\hosp_aixin\test

-h, --host=<hostname>           MongoDB服务器的地址,默认为localhost

-p, --port=<port>               MongoDB服务器的端口号,默认为27017

-d, --db=<database>             恢复数据的数据库名称

-c, --collection=<collection>   恢复数据的集合名称

-u, --username=<username>       登录MongoDB服务器的用户名

    --password=<password>       登录MongoDB服务器的密码

-o, --out=<directory>           恢复数据的目录路径         

--drop                          在恢复数据前删除已存在的集合

--ssl                           使用SSL连接到MongoDB服务器

--sslCAFile=<filename>          SSL CA证书文件路径

--sslPEMKeyFile=<filename>      SSL PEM证书文件路径

--sslPEMKeyPassword=<password>  SSL PEM证书密码

--authenticationDatabase=<database>  认证数据库的名称

--gzip                          恢复数据时使用gzip进行解压缩

--quiet                         禁止输出日志信息

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值