[mongodb]数据库备份与还原

mongodb提供了两个命令来备份(mongodump )和恢复(mongorestore )数据库。 

1.备份(mongodump ) 

用法 : 
[root@web3 3]# mongodump --help 
options: 
--help                   produce help message 
-v [ --verbose ]         be more verbose (include multiple times for more 
verbosity e.g. -vvvvv) 
-h [ --host ] arg        mongo host to connect to ("left,right" for pairs) 
-d [ --db ] arg          database to use 
-c [ --collection ] arg  collection to use (some commands) 
-u [ --username ] arg    username 
-p [ --password ] arg    password 
--dbpath arg             directly access mongod data files in the given path, 
instead of connecting to a mongod instance - needs 
to lock the data directory, so cannot be used if a 
mongod is currently accessing the same path 
--directoryperdb         if dbpath specified, each db is in a separate 
directory 
-o [ --out ] arg (=dump) output directory 

例子: 

[root@web3 ~]# mongodump -h 192.168.1.103 -d citys -o /backup/mongobak/3 
connected to: 192.168.1.103 
DATABASE: citys  to     /backup/mongobak/3/citys 
citys.building to /backup/mongobak/3/citys/building.bson 
13650 objects 
citys.system.indexes to /backup/mongobak/3/citys/system.indexes.bson 
1 objects 

备份出来的数据是二进制的,已经经过压缩。比实际数据库要小很多,我的数据库显示占用了260多M,备份后只有2M。 

2.恢复(mongorestore ) 

用法: 
[root@web3 3]# mongorestore --help 
usage: mongorestore [options] [directory or filename to restore from] 
options: 
--help                  produce help message 
-v [ --verbose ]        be more verbose (include multiple times for more 
verbosity e.g. -vvvvv) 
-h [ --host ] arg       mongo host to connect to ("left,right" for pairs) 
-d [ --db ] arg         database to use 
-c [ --collection ] arg collection to use (some commands) 
-u [ --username ] arg   username 
-p [ --password ] arg   password 
--dbpath arg            directly access mongod data files in the given path, 
instead of connecting to a mongod instance - needs to 
lock the data directory, so cannot be used if a 
mongod is currently accessing the same path 
--directoryperdb        if dbpath specified, each db is in a separate 
directory 
--drop                  drop each collection before import 
--objcheck              validate object before inserting 

--drop参数可以在导入之前把collection先删掉。 

例子: 

[root@web3 3]# mongorestore -h 127.0.0.1 --directoryperdb /backup/mongobak/3/         
connected to: 127.0.0.1 
/backup/mongobak/3/citys/building.bson 
going into namespace [citys.building] 
13667 objects 
/backup/mongobak/3/citys/system.indexes.bson 
going into namespace [citys.system.indexes] 
1 objects 

另外mongodb还提供了mongoexport 和 mongoimport 这两个命令来导出或导入数据,导出的数据是json格式的。也可以实现备份和恢复的功能。 

例: 

mongoexport -d mixi_top_city_prod -c building_45 -q '{ "uid" : "10832545" }' > mongo_10832545.bson 

mongoimport -d mixi_top_city -c building_45 --file mongo_10832545.bson

时间: 2024-10-29 17:20:27

[mongodb]数据库备份与还原的相关文章

Mysql数据库备份和还原常用的命令

Mysql数据库备份和还原常用的命令是进行Mysql数据库备份和还原的关键,没有命令,什么都无从做起,更谈不上什么备份还原,只有给系统这个命令,让它去执行,才能完成Mysql数据库备份和还原的操作,下面就是操作的常用命令. 一.备份命令 1.备份MySQL数据库的命令 mysqldump-hhostname-uusername-ppassword databasename>backupfile.sql 2.备份MySQL数据库为带删除表的格式 备份MySQL数据库为带删除表的格式,能够让该备份覆

SQL Server 数据库备份和还原认识和总结

  首先从数据库[恢复模式]说起,因为数据库如果恢复模式设置不正确,会导致数据无法还原. SQL Server 2012对数据库备份和还原与SQL Server 2008基本没有太大变化,仅对还原时间点选择UI和相关还原选项做了小改动,备份和还原核心没有做变化,这只是个人的掌握和了解,仅供参考,具体还请以官方文档为依据.以下利用SQL Server 2012 SSMS(SQL Server Management Studio)做图例演示. SQL Server 2008数据库恢复模式分为三种:完

php实现MySQL数据库备份与还原类实例_php技巧

本文实例讲述了php实现MySQL数据库备份与还原类.分享给大家供大家参考.具体分析如下: 这是一个非常简单的利用php来备份mysql数据库的类文件,我们只要简单的在dbmange中配置好连接地址用户名与数据库即可,下面我们一起来看这个例子,代码如下: 复制代码 代码如下: <?php   /**   * 创建时间: 2012年5月21日   *   * 说明:分卷文件是以_v1.sql为结尾(20120522021241_all_v1.sql)   * 功能:实现mysql数据库分卷备份,选

SQL Server 数据库备份和还原认识和总结(二)_MsSql

通过<SQL Server 数据库备份和还原认识和总结(一)>,相信您对数据备份和还原有了一个更深入的认识,在上文中我没有对事务日志做剖析,在此推荐宋沄剑的文章,对事务日志做了比较详细的讲解:http://www.jb51.net/article/31038.htm.本文将针对上文继续进行数据备份和还原讲解,主要讲解备份和还原的一些关键选项. 数据库备份选项 备份数据库时,有几个备份选项需要了解一下,覆盖介质.事务日志等.谈到覆盖介质时,必须先对这个概念有所了解,不然无从谈起. ● 介质集 (

SQL Server 数据库备份和还原认识和总结 (一)_MsSql

可能许多同学对SQL Server的备份和还原有一些了解,也可能经常使用备份和还原功能,我相信除DBA之外我们大部分开发员队伍对备份和还原只使用最基础的功能,对它也只有一个大概的认识,如果对它有更深入的认识,了解它更全面的功能岂不是更好,到用时会得心应手.因为经常有中小型客户公司管理人员对数据库不了解或掌握不牢,会请我们技术人员出马找回丢失的数据或硬件损坏移动数据的现象,或其它情况的发生. 首先从数据库[恢复模式]说起,因为数据库如果恢复模式设置不正确,会导致数据无法还原. SQL Server

SQL Server 数据库备份和还原认识和总结(一)

可能许多同学对SQL Server的备份和还原有一些了解,也可能经常使用备份和还原功能,我相信除DBA之外我们大部分开发员队伍对备份和还原只使用最基础的功能,对它也只有一个大概的认识,如果对它有更深入的认识,了解它更全面的功能岂不是更好,到用时会得心应手.因为经常有中小型客户公司管理人员对数据库不了解或掌握不牢,会请我们技术人员出马找回丢失的数据或硬件损坏移动数据的现象,或其它情况的发生.     首先从数据库[恢复模式]说起,因为数据库如果恢复模式设置不正确,会导致数据无法还原.     SQ

mssqlServer 数据库备份和还原认识和总结(二)

    数据库备份选项     备份数据库时,有几个备份选项需要了解一下,覆盖介质.事务日志等.谈到覆盖介质时,必须先对这个概念有所了解,不然无从谈起.     ● 介质集 (media set):备份介质(磁带或磁盘文件)的有序集合,使用固定类型和数量的备份设备向其写入了一个或多个备份操作.介质集所使用的备份设备的数量决定了介质集中的介质簇的数量. 例如,如果介质集使用两个非镜像备份设备,则该介质集包含两个介质簇.通常,创建介质集后,后续备份操作将依次向介质集追加其备份集.     ● 介质簇

【RAC】rac环境下的数据库备份与还原

[RAC]rac环境下的数据库备份与还原 一.1  BLOG文档结构图       一.2  前言部分   一.2.1  导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~: ① rac环境下的数据库备份与还原 ② rman恢复数据库的一般步骤 ③ rac环境的简单操作   注意:本篇BLOG中代码部分需要特别关注的地方我都用黄色背景和红色字体来表示,比如下边的例子中,thread 1的最大归档日志号为33,thread 2的最大归档日

SQL SERVER 2000 数据库备份与还原

server|备份|数据|数据库 备份数据库,例如: BACKUP DATABASE Northwind    TO DISK = 'c:\Northwind.bak' 还原数据库,例如: --返回由备份集内包含的数据库和日志文件列表组成的结果集RESTORE FILELISTONLY    FROM DISK = 'c:\Northwind.bak' --还原由BACKUP备份的数据库RESTORE DATABASE Northwind   FROM DISK = 'c:\Northwind.