mongodb备份恢复,数据导入导出
数据导出 mongoexport
假设库里有一张apachelog表,里面有2 条记录,我们要将它导出
/test/mongodb/bin/mongo
use wxdata
switched to db wxdata
db.apachelog.find();
{ "_id" : ObjectId("53993357e0e73ac14b29da8a"), "host" : "66.249.69.194", "method" : "GET", "uri" : "/uploads/yaopinimg/2013012415323219.jpg", "httpstatus" : 200, "size" : 7428, "agent" : "Googlebot-Image/1.0", "status" : 0 }
1 常用导出方法
/test/mongodb/bin/mongoexport -d wxdata -c apachelog -o apachelog.dat
connected to: 127.0.0.1
exported 2 records
cat apachelog.dat
{ "_id" : ObjectId("53993357e0e73ac14b29da8a"), "host" : "66.249.69.194", "method" : "GET", "uri" : "/uploads/yaopinimg/2013012415323219.jpg", "httpstatus" : 200, "size" : 7428, "agent" : "Googlebot-Image/1.0", "status" : 0 }
参数说明:
-d 指明使用的库, 本例中为"wxdata"
-c 指明要导出的表, 本例中为"apachelog"
-o 指明要导出的文件名, 本例中为"apachelog.dat"
从上面可以看到导出的方式使用的是JSON 的样式.
2 导出CSV格式的文件
/test/mongodb/bin/mongoexport -d wxdata -c apachelog --csv -f host,time,method -o apachelog_csv.dat
connected to: 127.0.0.1
exported 2 records
cat apachelog_csv.dat
host,time,method
"66.249.69.194","12/Jun/2014:12:57:59","GET"
参数说明:
--csv 指要要导出为csv 格式
-f 指明需要导出哪些例
3.导出执行查询的结果:
/test/mongodb/bin/mongoexport -d wxdata -c apachelog -q '{httpstatus:404}' -o apachelog.dat
参数说明:
-q 指明过滤条件,这里是过滤出httpstatus等于404的记录。
更详细的用法可以 mongoexport –help 来查看
数据导入mongoimport
1 导入JSON 数据
我们先将表apachelog 删除掉,以便演示效果
db.apachelog.drop();
true
show collections;
system.indexes
然后导入数据
/test/mongodb/bin/mongoimport -d wxdata -c apachelog apachelog.dat
connected to: 127.0.0.1
imported 1 objects
导入数据的时候会隐式创建表结构
2 导入CSV数据
我们先将表apachelog 删除掉,以便演示效果
db.apachelog.drop();
true
show collections;
system.indexes
然后导入数据
/test/mongodb/bin/mongoimport -d wxdata -c apachelog --type csv --headerline --file apachelog_csv.dat
connected to: 127.0.0.1
imported 1 objects
参数说明:
--type 指明要导入的文件格式
--headerline 批明不导入第一行,因为第一行是列名
--file 指明要导入的文件路径
注意:
CSV 格式良好,主流数据库都支持导出为CSV 的格式,所以这种格式非常利于异构数据迁移
数据备份mongodump
用mongodump 来做MongoDB 的库或表级别的备份
备份wxdata 数据库
/test/mongodb/bin/mongodump -d wxdata
connected to: 127.0.0.1
DATABASE: wxdata to dump/wxdata
wxdata.system.indexes to dump/wxdata/system.indexes.bson
1 objects
wxdata.apachelog to dump/wxdata/apachelog.bson
2 objects
此时会在当前目录下创建一个dump 目录,用于存放备份出来的文件
也可以指定备份存放的目录,
/test/mongodb/bin/mongodump -d wxdata -o wxdata_dump
connected to: 127.0.0.1
DATABASE: wxdata to wxdata_dump/wxdata
wxdata.system.indexes to
wxdata_dump/wxdata/system.indexes.bson
1 objects
wxdata.apachelog to wxdata_dump/wxdata/apachelog.bson
2 objects
这个例子中将备份的文件存在了当前目录下的wxdata_dump 目录下
数据恢复mongorestore
由于刚刚已经做了备份,所以我们先将库wxdata 删除掉
use wxdata
switched to db wxdata
db.dropDatabase()
{ "dropped" : "wxdata", "ok" : 1 }
show dbs
admin (empty)
local (empty)
test (empty)
接下来我们进行数据库恢复
/test/mongodb/bin/mongorestore -d wxdata wxdata_dump/*
connected to: 127.0.0.1
Wed Apr 11 00:03:03 wxdata_dump/wxdata/apachelog.bson
Wed Apr 11 00:03:03 going into namespace [wxdata.apachelog]
Wed Apr 11 00:03:03 2 objects found
Wed Apr 11 00:03:03 wxdata_dump/wxdata/system.indexes.bson
Wed Apr 11 00:03:03 going into namespace [wxdata.system.indexes]
经验证数据库又回来了,其实要是想恢复库,也大可不必先删除wxdata 库,只要指
明--drop 参数,就可以在恢复的时候先删除表然后再向表中插入数据.
mongodb备份恢复,数据导入导出的更多相关文章
- Linux下mongodb安装及数据导入导出教程
Linux下mongodb安装及数据导入导出教程 #查看linux发行版本 cat /etc/issue #查看linux内核版本号 uname -r 一.Linux下mongodb安装的一般步骤 1 ...
- MySQL 备份恢复(导入导出)单个 innodb表
MySQL 备份恢复单个innodb表呢,对于这种恢复我们我们很多朋友都不怎么了解了,下面一起来看一篇关于MySQL 备份恢复单个innodb表的教程 在实际环境中,时不时需要备份恢复单个或多个表(注 ...
- MySQL5.7.18 备份、Mysqldump,mysqlpump,xtrabackup,innobackupex 全量,增量备份,数据导入导出
粗略介绍冷备,热备,温暖,及Mysqldump,mysqlpump,xtrabackup,innobackupex 全量,增量备份 --备份的目的 灾难恢复:意外情况下(如服务器宕机.磁盘损坏等)对损 ...
- MongoDB学习(三)数据导入导出及备份恢复
这几天想着公司要用MongoDB,自然就要用到数据导入导出,就自己学习了一下. 在Mongo学习(二)中就讲到了在bin目录下有一些工具,本篇就是使用这些工具进行数据的导入导出及备份恢复. 注意:以下 ...
- python 全栈开发,Day126(创业故事,软件部需求,内容采集,显示内容图文列表,MongoDB数据导入导出JSON)
作业讲解 下载代码: HBuilder APP和flask后端登录 链接:https://pan.baidu.com/s/1eBwd1sVXTNLdHwKRM2-ytg 密码:4pcw 如何打开APP ...
- 软件部需求,内容采集,显示内容图文列表,MongoDB数据导入导出JSON
全局变量 由于多个html页面,需要引用同一个变量.这个时候,需要定义一个全局变量!如何定义呢? 默认包含了mui的html文件都导入mui.js文件.那么将变量写在mui.js中,就可以实现所有页面 ...
- 010.MongoDB备份恢复
一 MongoDB备份 1.1 备份概述 mongodb数据备份和还原主要分为二种,一种是针对于库的mongodump和mongorestore,一种是针对库中表的mongoexport和mongoi ...
- oracle数据库数据导入导出步骤(入门)
oracle数据库数据导入导出步骤(入门) 说明: 1.数据库数据导入导出方法有多种,可以通过exp/imp命令导入导出,也可以用第三方工具导出,如:PLSQL 2.如果熟悉命令,建议用exp/imp ...
- MySQL多线程数据导入导出工具Mydumper
http://afei2.sinaapp.com/?p=456 今天在线上使用mysqldump将数据表从一个库导入到另外一个库,结果速度特别慢,印象中有个多线程的数据导入导出工具Mydumper,于 ...
随机推荐
- [bzoj3048] [Usaco2013 Jan]Cow Lineup
一开始一脸懵逼.. 后来才想到维护一左一右俩指针l和r..表示[l,r]这段内不同种类的数字<=k+1种. 显然最左的.合法的l随着r的增加而不减. 顺便离散化,记一下各个种类数字出现的次数就可 ...
- 关于解决Git项目本地修改代码之后执行pull操作之后报错的问题
解决办法: 注意!该方法执行后会导致远程仓库覆盖本地仓库的文件,如果不需要对本地文件进行保存,可以无视,若之后还需要用到,请备份所报错文件! 1.Eclipse中选中项目右键-->Team--& ...
- Qt 共享库(动态链接库)和静态链接库的创建及调用
前言: 编译器 Qt Creator, 系统环境 win7 64 位 1.创建共享库: 新建文件或项目->选择 Library 和 c++ 库->选择共享库->下一步(工程名为 sh ...
- java的finalize()方法与C++的析构函数
---<java编程思想> 读书笔记 --- 2017/3/15 读<java编程思想>读到初始化与清理一章,文中提及java的finalize()方法,联想到了C++的析构函 ...
- 微信小程序实现滚动加载更多
1.需要用到的组件和api scroll-view(可滚动视图区域) wx.showToast(OBJECT)显示消息提示窗----显示loading小菊花用的 2.需要用到的属性 3.scrol-v ...
- 久未更 ~ 一之 —— 关于ToolBar
很久没更博客了,索性开一个久未更 系列 > > > > > 久未更 系列一:关于ToolBar的使用(后续补充) //让 ToolBar 单独使用深色主题 使得 tool ...
- putty怎么用?如何使用Putty远程管理Linux主机
Putty是一个免费的Windows 32平台下用于telnet.rlogin和ssh客户端的远程客户端工具,可以通过PUTTY快速的实现SSH连接linux等主机,下面小编就给大家演示一下如何使用P ...
- 一步步部署基于Windows系统的Jenkins持续集成环境
如题:本文将介绍如何在Windows环境下运用Jenkins部署持续集成环境.之所以写本文,是因为在最近工作当中,学习使用Jenkins时,确实遇到了一些问题,而大多数教程文档都是基于Mac或是Lin ...
- android 基础02 - Activity 的生命周期及状态
返回栈 Android 中的 Activity 是可以层叠的,当我们启动一个新的 Activity 时,就会覆盖在原有的 Activity 之上, 点击 Back 会销毁当前 Activity,下面的 ...
- spring-mvc整合jquery cropper图片裁剪插件
参考网址:http://blog.csdn.net/u012759397/article/details/53126522