今天需要对线上的MongoDB中的webpage库进行备份,然后在本地导入备份的库。

1.备份整个MongoDB数据库

mongodump -h dbhost --port 端口 -u 用户名 -p 密码 -d 数据库 -o 文件存在路径 
如果没有设置用户,可以去掉-u和-p。 如果导出本机的数据库,可以去掉-h。 如果是默认端口,可以去掉--port。 如果想导出所有数据库,可以去掉-d。

2.备份某一个collections

mongodump --port 6333 -d webpagedb -c category -o /home/yangkun/

3.导入数据库

mongorestore -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 --drop 文件存在路径

先删除所有的记录,然后恢复 --drop
如果需要恢复所有数据库,可以去掉 -d 参数
如果需要还原指定数据库,需要加上 -d 参数

4.mongoexport导出表,或者表中部分字段

mongoexport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 -f 字段 -q 条件导出 --csv -o 文件名

-f    导出指字段,以字号分割,-f name,email,age导出name,email,age这三个字段
-q    可以根查询条件导出,-q '{ "uid" : "100" }' 导出uid为100的数据
--csv 表示导出的文件格式为csv的,这个比较有用,因为大部分的关系型数据库都是支持csv,在这里有共同点

导出整张表:
  mongoexport -d webpagedb -c category -o /home/yangkun/category.dat

导出表中部分字段:
  mongoexport -d webpagedb -c category --csv -f ctype,domain,aliases -o /home/yangkun/category.csv

根据条件导出数据
  mongoexport -d webpagedb -c category -q '{"ctype":1}' -o /home/yangkun/category.json

5.mongoimport导入表,或者表中部分字段

还原整表导出的非csv文件
  mongoimport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 --upsert 文件名   (--upsert 插入或者更新现有数据)

还原部分字段的导出文件
  mongoimport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 --upsertFields 字段,字段,字段 --drop 文件名  

还原导出的csv文件
  mongoimport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 --type 类型(cvs) --headerline (--upsert|--drop) --file 文件名 

MongoDB参考手册:https://www.tutorialspoint.com/mongodb/index.htm

MongoDB备份数据库&导入数据库的更多相关文章

  1. mongodb csv 文件导入数据库,删除特定字段

    1. 导入数据库 mongoimport -h host_ip -p port -d db_name -c collection_name --fields name1,name2,name3,nam ...

  2. 无法执行 BACKUP LOG,因为当前没有数据库备份,导入数据库备份.bak文件

    右键数据库——>任务——>还原——>数据库 无法执行 BACKUP LOG,因为当前没有数据库备份 结尾日志的问题 还原选择中去掉结尾日志就可以了

  3. 命令行,备份、导入数据库Oracle

    备份库:exp username/password@Database file="h:\datas.dmp" owner=username 导入语句 :imp username2/ ...

  4. MongoDB备份与导入

    导出mongodb的数据 mongodump -d nodes -o url 导入mongodb数据mongorestore --db nodes url 删除mongodb的数据库db.dropDa ...

  5. mysqldump导出数据库导入数据库

    使用mysqldump命令导出数据库,格式如下,请按实际要求对参数进行替换: mysqldump -u 用户名 -p 数据库名 > 导出的文件名 比如导出数据库business_db: mysq ...

  6. Navicat创建数据库或导入数据库

    双击点亮数据库 导入数据库 点击开始

  7. MongoDB学习总结(六) —— 数据库备份和恢复

    我们都知道数据库数据经常备份是多么的重要,MongoDB作为一个数据库系统,自然提供了完善,丰富而且好用的备份与恢复机制. 以下介绍三种数据库备份和恢复的方式 > 数据目录直接拷贝 数据库目录直 ...

  8. 本地数据库导入线上服务器的mongodb中

    更改默认端口 sudo vi /etc/mongod.conf 进入conf文件,修改port值为19999保存并退出. 重启mongodb sudo service mongod restart 进 ...

  9. Mysql 5.* 数据库备份及导入

    作者:邓聪聪 倒出数据文件 1) 导出数据和表结构: 进入数据库查看表结构 msql -u用户名 -p密码 msql -u用户名 -p密码 -S /var/lib/mysql/mysql.sock  ...

随机推荐

  1. contentInset,contentsize和contentOffset区别

    contentInset,contentsize和contentOffset区别   今天看别人用到了contentInset,觉得很迷糊,于是gogle了一下,搜到了一篇分析的很好的文章,转在这里, ...

  2. Swift 总结使用问号(?)和感叹号(!)-备用

    在使用可选类型和可选链时,多次使用了问号(?)和感叹号(!),但是它们的含义是不同的,下面我来详细说明一下. 1. 可选类型中的问号(?) 声明这个类型是可选类型,访问这种类型的变量或常量时要使用感叹 ...

  3. Lintcode--008(编辑距离)

    http://www.lintcode.com/en/problem/edit-distance/ 2016-08-29 给出两个单词word1和word2,计算出将word1 转换为word2的最少 ...

  4. FJ省队集训DAY3 T1

    思路:我们考虑如果取掉一个部分,那么能影响到最优解的只有离它最近的那两个部分. 因此我们考虑堆维护最小的部分,离散化离散掉区间,然后用线段树维护区间有没有雪,最后用平衡树在线段的左右端点上面维护最小的 ...

  5. scheme 阴阳谜题

    本篇分析continuation的一个著名例子"阴阳迷题",这是由David Madore先生提出的,原谜题如下: (let* ((yin ((lambda (foo) (disp ...

  6. 10g中注意谓词过滤的位置

    在10g中当主查询的谓词信息,被错误的放入子查询中,会导致子查询无法展开 explain plan for UPDATE DWF.F_PTY_INDIV O SET END_DT = TO_DATE( ...

  7. pidof,pgrep进程名查PID, /proc目录由pid查进程名

    pidof,pgrep进程名查PID cat /proc/4990/status|grep "name",由pid查进程名

  8. Linux企业级项目实践之网络爬虫(8)——认识URL

    URL是Uniform Resource Location的缩写,译为"统一资源定位符".也可以说,URL是Internet上用来描述信息资源的字符串,主要用在各种WWW客户程序和 ...

  9. 【转】Android API 中文(14) —— ViewStub

    用一个XML源填充view.inflate(上下文对象,资源文件Id,父窗口组一般为null): 原文网址:http://www.cnblogs.com/over140/archive/2010/10 ...

  10. BaseAdapter自定义适配器——思路详解

    BaseAdapter自定义适配器——思路详解 引言: Adapter用来把数据绑定到扩展了AdapterView类的视图组.系统自带了几个原生的Adapter. 由于原生的Adapter视图功能太少 ...