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

这几天想着公司要用MongoDB,自然就要用到数据导入导出,就自己学习了一下。

在Mongo学习(二)中就讲到了在bin目录下有一些工具,本篇就是使用这些工具进行数据的导入导出及备份恢复。

注意:以下命令均在cmd命令行中输入,导出及备份未指明目录情况下,均保存在当前操作目录下。

数据导出mongoexport

1.常用导出方法:导出数据为json

假设库里有一张area 表,里面有9 条记录,我们要将它导出

>c:\mongo\bin\mongoexport -d iflashbuy_log -c area -o c:\area.dat

正常情况下输出如下:

connected to: 127.0.0.1
exported 9 records

参数说明:
-d 指明使用的库, 本例中为” iflashbuy_log”
-c 指明要导出的表, 本例中为”area”
-o 指明要导出的文件名及目录, 本例中为”area.dat”
从上面可以看到导出的方式使用的是JSON 的样式

2.导出CSV格式的文件

>c:\mongo\bin\mongoexport -d iflashbuy_log -c area  --csv -f  id,province,city   -o c:\area.dat

参数说明:
-csv 指要要导出为csv 格式,导出csv之后必须指明导出的列
-f 指明需要导出哪些列

数据导入mongoimport

1.导入JSON 数据

a. 我们先将表area删除掉,以便演示效果 db.area.drop();

b. 再执行导入命令:

>c:\mongo\bin\mongoimport -d iflashbuy_log -c area c:\area.dat

正常情况下输出以下:

connected to: 127.0.0.1
imported 9 objects

可以看到导入数据的时候会隐式创建表结构.

2.导入CSV 数据

a. 我们先将表area删除掉,以便演示效果 db.area.drop();

b. 再执行导入命令

>c:\mongo\bin\mongoimport -d iflashbuy_log -c area --type csv --headerline --file c:\area.data

参数说明:
-type 指明要导入的文件格式
-headerline 批明不导入第一行,因为第一行是列名
-file 指明要导入的文件路径
注意:

CSV 格式良好,主流数据库都支持导出为CSV 的格式,所以这种格式非常利于异构数据迁移

数据备份mongodump

可以用mongodump 来做MongoDB 的库或表级别的备份,下面举例说明:

1. 备份iflashbuy_log数据库

>c:\mongo\bin\mongodump -d iflashbuy_log

此时会在当前目录下创建一个dump 目录,用于存放备份出来的文件,也可以指定备份存放的目录。

2. 指定目录备份iflashbuy_log数据库

>c:\mongo\bin\mongodump -d iflashbuy_log -o c:\my_mongodb_dump

这个例子中将备份的文件存在了c:\my_mongodb_dump目录下

数据恢复mongorestore

由于刚刚已经做了备份,所以我们先将库iflashbuy_log删除掉

>use iflashbuy_log

switched to db iflashbuy_log

>db.dropDatabase()

接下来我们进行数据库恢复

1.恢复iflashbuy_log数据库

>c:\mongo\bin\mongorestore -d my_mongodb c:\my_mongodb_dump

经验证数据库又回来了,其实要是想恢复库,也大可不必先删除iflashbuy_log 库,只要指明 --drop 参数,就可以在恢复的时候先删除表然后再向表中插入数据

2.不删除库恢复库

>c:\mongo\bin\mongorestore -d my_mongodb --drop  c:\my_mongodb_dump

至此,Windows系统下,对MongoDB的数据导入导出以及备份恢复就讲完了。

另外,我想说一下,在Linux中进行数据导入导出及备份恢复的命令跟Windows相同,因此,就不另外介绍Linux下的命令了。

时间: 2024-12-26 02:14:40

MongoDB学习(三)数据导入导出及备份恢复的相关文章

mongodb数据导入导出以及备份恢复

数据导出 mongoexport 假设库里有一张user 表,里面有2 条记录,我们要将它导出 > use my_mongodb switched to db my_mongodb > db.user.find(); { "_id" : ObjectId("4f81a4a1779282ca68fd8a5a"), "uid" : 2, "username" : "Jerry", "age

数据导入导出、备份恢复

4.数据导入1.作用 :把文件系统的内容导入到数据库中2.语法 load data infile "/var/lib/mysql-files/文件名" into table 表名 fields terminated by "分隔符" lines terminated by "\n";3.将scoretable.csv文件导入到数据库的表中 1.在数据库中创建对应的表 create table scoretab( id int, name varc

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

搞定linux上MySQL编程(五):数据导入导出和备份

[版权声明:尊重原创,转载请保留出处:blog.csdn.net/shallnet,文章仅供学习交流,请勿用于商业用途] 在MySQL中提供多种数据导入方法,比如mysqlinport.sql语句导入以及编写专门导入程序等.通常情况下,数据导入基本步骤科分成3步: 1. 确定导入的数据源,按固定格式存储的文本文件或者SQL文件. 2. 依照导入的文件格式,确定目标数据表,这个数据表如果没有,可以依照导入的文本文件格式,创建一个相对应的数据表. 3. 执行导入命令,将数据导入数据表中. 下面分别介

Mysql学习_02_mysql数据导入导出

二.参考资料 1.MySQL 数据导出 原文地址:https://www.cnblogs.com/shirui/p/8203003.html

MongoDB学习(四)客户端工具备份数据库

在上一篇MongoDB学习(三)中讲解了如何在服务器端进行数据的导入导出与备份恢复,本篇介绍下如何利用客户端工具来进行远程服务器的数据备份到本地. 以客户端工具MongoVUE为例来进行讲解: 1.首先要连接本地服务器以及远程服务器数据库 2.在本地服务器(127.0.0.1)中,右键Add Database,弹出框中输入数据库名称,如下图: 注:要先在本地服务器中添加数据库,以备导出时要用. 3.选中要导出服务器(192.168.5.117)中的数据库(iflashbuy-log),右键Cop

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", "metho

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

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

Mysql导入导出大量数据的方法、备份恢复办法

经常使用PHP+Mysql的朋友一般都是通过phpmyadmin来管理数据库的.日常的一些调试开发工作,使用phpmyadmin确实很方便.但是当我们需要导出几百兆甚至几个G的数据库时,phpmyadmin就会很卡.甚至如果你是想导入大量数据,则phpmyadmin完全无法完成.因为phpmyadmin是基于PHP网页的,无法上传太大的sql文件.其实mysql官方给了我们很好的解决方案:mysqldump. 下面介绍,如何在Windows环境下,使用mysqldump导出数据库: 找到你mys