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 指明需要导出哪些例
更详细的用法可以 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备份恢复,数据导入导出

时间: 2024-12-12 16:03:52

mongodb备份恢复,数据导入导出的相关文章

MongoDB数据库备份恢复与导入导出

一.mongodump/mongorestore方式 使用场景:数据库导出指定collection,无法手工修改导出文件(二进制)允许条件:数据库原始collection导入操作前可以被删除(处理方式:插入)或者保留(处理方式:删除然后插入)导出数据格式:二进制类型,不可手工修改 1.备份数据库指定collection C:\Users\Administrator>mongodump -d webdb -c users -o e:\webdb_users_dumpconnected to: 12

Linux下mongodb安装及数据导入导出教程

Linux下mongodb安装及数据导入导出教程 #查看linux发行版本 cat /etc/issue #查看linux内核版本号 uname -r 一.Linux下mongodb安装的一般步骤 1.到mongodb的官网(https://www.mongodb.org/downloads) 下载相应你系统的安装包,拷贝(能够用ftp工具如winscp)到你的linux系统上面. 2.解压相应的安装包 命令例如以下:tar zxvf mongodb-linux-x86_64-3.0.4.tgz

MySQL5.7.18 备份、Mysqldump,mysqlpump,xtrabackup,innobackupex 全量,增量备份,数据导入导出

粗略介绍冷备,热备,温暖,及Mysqldump,mysqlpump,xtrabackup,innobackupex 全量,增量备份 --备份的目的 灾难恢复:意外情况下(如服务器宕机.磁盘损坏等)对损坏的数据进行恢复和还原保证数据不丢失,最小程度地丢失需求改变:因需求改变而需要把数据还原到改变以前测试:测试新功能是否可用 --备份与恢复概述 根据备份的方法可以分为: 1.Hot Backup(热备) 2.Cold Backup(冷备) 3.Warm Backup(温备) Hot Backup是指

MongoDB学习(三)数据导入导出及备份恢复

这几天想着公司要用MongoDB,自然就要用到数据导入导出,就自己学习了一下. 在Mongo学习(二)中就讲到了在bin目录下有一些工具,本篇就是使用这些工具进行数据的导入导出及备份恢复. 注意:以下命令均在cmd命令行中输入,导出及备份未指明目录情况下,均保存在当前操作目录下. 数据导出mongoexport 1.常用导出方法:导出数据为json 假设库里有一张area 表,里面有9 条记录,我们要将它导出 >c:\mongo\bin\mongoexport -d iflashbuy_log

搭建 MongoDB 服务器,MongoDB 基本使用,数据导入导出

MongoDB 1.1软件介绍 ? 介于关系数据库和非关系数据库之间的产品 – 一个基于分布式文件存储的数据库. – 由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. – MongoDB 将数据存储为一个文档,数据结构由键值(key=>value) 对组成. – MongoDB 文档类似于 JSON 对象.字段值可以包含其他文档,数组及文档数组. 1.2软件特点 – 安装简单 – 面向文档存储,操作比较简单容易 – 支持丰富的查询表达 – 可以设置任何属性的索引 –

ORACLE EXPDP IMPDP数据导入导出命令详解及同EXP IMP命令详细对比

ORACLE EXPDP IMPDP数据导入导出命令详解及同EXP IMP 命令详细对比 一.EXPDP IMPDP EXP IMP 可以实现 1.可以实现逻辑备份和逻辑恢复 2.可以在数据库用户之间移动对象 3.可以在数据库之间移动对象 4.可以实现表空间转移 二.EXPDP的命令详解 C:\Users\Administrator>20:42:32.90>expdp help=y Export: Release 11.2.0.1.0 - Production on 星期六 10月 10 09

Oracle数据导入导出命令

IMP 和EXP命令 Oracle数据导入导出imp/exp就相当于oracle数据还原与备份.exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中. 利用这个功能可以构建两个相同的数据库,一个用来测试,一个用来正式使用. 执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行,DOS中可以执行时由于在oracle 8i中安装目录\ora81\BIN被设置为全局路径,该目录下有EXP.EXE与IMP.EXE文件被用来执

MySQL多线程数据导入导出工具Mydumper

http://afei2.sinaapp.com/?p=456 今天在线上使用mysqldump将数据表从一个库导入到另外一个库,结果速度特别慢,印象中有个多线程的数据导入导出工具Mydumper,于是简单的调查和测试一下. 下午导数据的过程中,这个表是没有更新的,因此不需要确保多个数据之间的一致性,就简单的写个shell脚本启动多个mysqldumper来导数据,这样有几个问题: 需要处理表数据大小不均匀的问题,有的会很快结束,有的会比较慢. 如果需要保证多个导出之间的一致性时,则无法保证.

Oracle数据导入导出基本操作示例

Oracle数据导入导出基本操作示例 数据导出 a.将数据库orcl完全导出,用户名user 密码password 导出到D:\dc.dmp中 exp user/[email protected]   file=d:\dc.dmp    full=y full=y   表示全库导出 b.将数据库中user1和user2用户导出 exp user/[email protected]  file=d:\dc.dmp    owner=(user1,user2) full方式可以备份所有用户的数据库对