找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2545|回复: 1

mongoDB备份与恢复(导入与导出)

[复制链接]
发表于 2016-1-20 13:51:14 | 显示全部楼层 |阅读模式
MongoDB 是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。

导入/导出可以操作的是本地的mongodb服务器,也可以是远程的服务器
所以,都有如下通用选项:

  1. -h host   主机
  2. --port port    端口
  3. -u username 用户名
  4. -p passwd   密码
复制代码
mongoexport 导出
-d  库名-c  表名-f  field1,field2...列名-q  查询条件-o  导出的文件名--type=csv  导出csv格式(便于和传统数据库交换数据)
注意只能是导出数据,不包括相关的索引信息

mongoimport 导入
  1. -d 待导入的数据库
  2. -c 待导入的表(不存在会自己创建)
  3. --type  csv/json(默认)
  4. --file 备份文件路径
复制代码
以上的导出,仅仅是导出数据,相关的索引信息没有被导出。


二进制备份,不仅可以备份数据,还可以备份索引
mongodump 导出二进制bson结构的数据及其索引信息
  1. -d  库名
  2. -c  表名
  3. -f  field1,field2...列名

  4. mongodump -d test  [-c 表名]  默认是导出到mongo下的dump目录
复制代码


  • 导出的文件放在以database命名的目录下
  • 每个表导出2个文件,分别是bson结构的数据文件, json的索引信息
  • 如果不声明表名, 导出所有的表

mongorestore 导入二进制文件

  1. mongorestore -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 --drop 文件存在路径
  2. --drop的意思是,先删除所有的记录,然后恢复

  3. 3.0版本去掉了--directoryperdb
复制代码

mongodb数据导出导入注意事项:
1.先把对应数据库导入到临时目录  使用mongodump命令导出数据
2.启动新数据库的服务
3.使用mongoresotre命令导入到新数据库对应的数据目录
//对应地址
http://biancheng.dnbcw.info/sql/463014.html
回复

使用道具 举报

发表于 2016-7-29 20:51:02 | 显示全部楼层

必须在admin验证

复制集导入导出:

./mongoimport --authenticationDatabase admin ....
./mongodump --authenticationDatabase admin ....
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表