MongoDB-备份和恢复

MongoDB 备份(mongodump)与恢复(mongorestore)

MongoDB数据备份
在Mongodb中我们使用mongodump命令来备份MongoDB数据。该命令可以导出所有数据到指定目录中。
语法
mongodump命令脚本语法如下:
>mongodump -h dbhost -d dbname -o dbdirectory
    -h: MongDB所在服务器地址,例如:127.0.0.1,当然也可以指定端口号:127.0.0.1:27017
    -d:需要备份的数据库实例,例如:test
    -o:备份的数据存放位置,例如:c:\data\dump,当然该目录需要提前建立,在备份完成后,系统自动在dump目录下建立一个test目录,这个目录里面存放该数据库实例的备份数据。

>mongodump
执行以上命令后,客户端会连接到ip为 127.0.0.1 端口号为 27017 的MongoDB服务上,并备份所有数据到 bin/dump/ 目录中。    
    
MongoDB数据恢复
mongodb使用 mongorestore 命令来恢复备份的数据。
语法
mongorestore命令脚本语法如下:
>mongorestore -h <hostname><:port> -d dbname <path>
     -h <:port>:   MongoDB所在服务器地址,默认为: localhost:27017
     -d :    需要恢复的数据库实例,例如:test,当然这个名称也可以和备份时候的不一样,比如test2
    --dir: 指定备份的目录

接下来我们执行以下命令:
>mongorestore

单collection备份
>mongoexport -h dbhost -d dbname -c collectionname -f collectionKey -o dbdirectory
  -h: MongoDB所在服务器地址
  -d: 需要恢复的数据库实例
  -c: 需要恢复的集合
  -f: 需要导出的字段(省略为所有字段)
  -o: 表示导出的文件名

单collection恢复
>mongoimport -d dbhost -c collectionname –type csv –headerline –file
  -type: 指明要导入的文件格式
  -headerline: 批明不导入第一行,因为第一行是列名
  -file: 指明要导入的文件路径

附:

1、mongodump说明

Export MongoDB data to BSON files.Options:  --help                                produce help message  -v [ --verbose ]                      be more verbose (include multiple times for more verbosity e.g. -vvvvv)  --quiet                               silence all non error diagnostic messages  --version                             print the program‘s version and exit  -h [ --host ] arg                     mongo host to connect to ( <set name>/s1,s2 for sets)  --port arg                            server port. Can also use --host hostname:port  --ipv6                                enable IPv6 support (disabled by default)  -u [ --username ] arg                 username  -p [ --password ] arg                 password  --authenticationDatabase arg          user source (defaults to dbname)  --authenticationMechanism arg (=MONGODB-CR)  authentication mechanism  --gssapiServiceName arg (=mongodb)    Service name to use when authenticating using GSSAPI/Kerberos  --gssapiHostName arg                  Remote host name to use for purpose of GSSAPI/Kerberos authentication  --dbpath arg                          directly access mongod database files in the given path  --directoryperdb                      each db is in a separate directory (relevant only if dbpath specified)  --journal                             enable journaling (relevant only if dbpath specified)  -d [ --db ] arg                       database to use  -c [ --collection ] arg               collection to use (some commands)  -o [ --out ] arg (=dump)              output directory or "-" for stdout  -q [ --query ] arg                    json query  --oplog                               Use oplog for point-in-time snapshotting  --repair                              try to recover a crashed database  --forceTableScan                      force a table scan (do not use $snapshot)  --dumpDbUsersAndRoles                 Dump user and role definitions for the given database
2、mongorestore说明
Import BSON files into MongoDB.
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)
  --quiet                               silence all non error diagnostic messages
  --version                             print the program‘s version and exit
  -h [ --host ] arg                     mongo host to connect to ( <set name>/s1,s2 for sets)
  --port arg                            server port. Can also use --host  hostname:port
  --ipv6                                enable IPv6 support (disabled by  default)
  -u [ --username ] arg                 username
  -p [ --password ] arg                 password
  --authenticationDatabase arg          user source (defaults to dbname)
  --authenticationMechanism arg (=MONGODB-CR) authentication mechanism
  --gssapiServiceName arg (=mongodb)    Service name to use when authenticating using GSSAPI/Kerberos
  --gssapiHostName arg                  Remote host name to use for purpose of GSSAPI/Kerberos authentication
  --dbpath arg                          directly access mongod database files in the given path--directoryperdb                      each db is in a separate directory (relevant only if dbpath specified)
  --journal                             enable journaling (relevant only if dbpath specified)
  -d [ --db ] arg                       database to use
  -c [ --collection ] arg               collection to use (some commands)
  --objcheck                            validate object before inserting (default)
  --noobjcheck                          don‘t validate object before inserting
  --filter arg                          filter to apply before inserting
  --drop                                drop each collection before import
  --oplogReplay                         replay oplog for point-in-time restore
  --oplogLimit arg                      include oplog entries before the provided Timestamp (seconds[:ordinal]) during the oplog replay; the ordinal value is optional
  --keepIndexVersion                    don‘t upgrade indexes to newest version
  --noOptionsRestore                    don‘t restore collection options
  --noIndexRestore                      don‘t restore indexes
  --restoreDbUsersAndRoles              Restore user and role definitions for the given database
  --w arg (=0)                          minimum number of replicas per write

3、mongoexport说明

Export MongoDB data to CSV, TSV or JSON files.
Options:
  --help                                produce help message
  -v [ --verbose ]                      be more verbose (include multiple times for more verbosity e.g. -vvvvv)
  --quiet                               silence all non error diagnostic messages
  --version                             print the program‘s version and exit
  -h [ --host ] arg                     mongo host to connect to ( <set name>/s1,s2 for sets)
  --port arg                            server port. Can also use --host hostname:port
  --ipv6                                enable IPv6 support (disabled by default)
  -u [ --username ] arg                 username
  -p [ --password ] arg                 password
  --authenticationDatabase arg          user source (defaults to dbname)
  --authenticationMechanism arg (=MONGODB-CR) authentication mechanism
  --gssapiServiceName arg (=mongodb)    Service name to use when authenticating using GSSAPI/Kerberos
  --gssapiHostName arg                  Remote host name to use for purpose of GSSAPI/Kerberos authentication
  --dbpath arg                          directly access mongod database files in the given path--directoryperdb                      each db is in a separate directory (relevant only if dbpath specified)
  --journal                             enable journaling (relevant only if dbpath specified)
  -d [ --db ] arg                       database to use
  -c [ --collection ] arg               collection to use (some commands)
  -f [ --fields ] arg                   comma separated list of field names e.g. -f name,age
  --fieldFile arg                       file with field names - 1 per line
  -q [ --query ] arg                    query filter, as a JSON string, e.g.,  ‘{x:{$gt:1}}‘
  --csv                                 export to csv instead of json
  -o [ --out ] arg                      output file; if not specified, stdout is used
  --jsonArray                           output to a json array rather than one object per line
  -k [ --slaveOk ] arg (=1)             use secondaries for export if  available, default true
  --forceTableScan                      force a table scan (do not use $snapshot)
  --skip arg (=0)                       documents to skip, default 0
  --limit arg (=0)                      limit the numbers of documents returned, default all
  --sort arg                            sort order, as a JSON string, e.g.,
                                        ‘{x:1}‘

4、mongoimport说明

Import CSV, TSV or JSON data into MongoDB.
When importing JSON documents, each document must be a separate line of the input file.

Example:
  mongoimport --host myhost --db my_cms --collection docs < mydocfile.json

Options:
  --help                                produce help message
  -v [ --verbose ]                      be more verbose (include multiple times for more verbosity e.g. -vvvvv)
  --quiet                               silence all non error diagnostic messages
  --version                             print the program‘s version and exit
  -h [ --host ] arg                     mongo host to connect to ( <set name>/s1,s2 for sets)
  --port arg                            server port. Can also use --host hostname:port
  --ipv6                                enable IPv6 support (disabled by default)
  -u [ --username ] arg                 username
  -p [ --password ] arg                 password
  --authenticationDatabase arg          user source (defaults to dbname)
  --authenticationMechanism arg (=MONGODB-CR) authentication mechanism
  --gssapiServiceName arg (=mongodb)    Service name to use when authenticating using GSSAPI/Kerberos
  --gssapiHostName arg                  Remote host name to use for purpose of GSSAPI/Kerberos authentication
  --dbpath arg                          directly access mongod database files in the given path--directoryperdb                      each db is in a separate directory (relevant only if dbpath specified)
  --journal                             enable journaling (relevant only if dbpath specified)
  -d [ --db ] arg                       database to use
  -c [ --collection ] arg               collection to use (some commands)
  -f [ --fields ] arg                   comma separated list of field names e.g. -f name,age
  --fieldFile arg                       file with field names - 1 per line
  --ignoreBlanks                        if given, empty fields in csv and tsv will be ignored
  --type arg                            type of file to import.  default: json (json,csv,tsv)
  --file arg                            file to import from; if not specified stdin is used
  --drop                                drop collection first
  --headerline                          first line in input file is a header (CSV and TSV only)
  --upsert                              insert or update objects that already exist
  --upsertFields arg                    comma-separated fields for the query part of the upsert. You should make sure this is indexed
  --stopOnError                         stop importing at first error rather than continuing
  --jsonArray                           load a json array, not one item per line. Currently limited to 16MB.
时间: 2024-10-25 18:40:22

MongoDB-备份和恢复的相关文章

MongoDB备份和恢复

前面两篇文章介绍了mongodb的搭建与使用:http://msiyuetian.blog.51cto.com/8637744/1720559 以及mongodb的副本集部署:http://msiyuetian.blog.51cto.com/8637744/1722406 下面我们来介绍mongodb的备份和恢复 一.MongoDB备份 1.准备工作 1)创建库.集合 > use mydb                                                      

MongoDB 备份(mongodump)恢复(mongorerstore) 导出 (Mongoexport) 导入( Mongoimport)

MongoDB 备份(mongodump) 在Mongodb中我们使用mongodump命令来备份MongoDB数据.该命令可以导出所有数据到指定目录中. mongodump命令可以通过参数指定导出的数据量级转存的服务器. 语法 mongodump命令脚本语法如下: mongodump -h dbhost -d dbname -o dbdirectory -h: MongDB所在服务器地址,例如:127.0.0.1,当然也可以指定端口号:127.0.0.1:27017 -d: 需要备份的数据库实

Linux系统中备份和恢复MongoDB数据的教程

版本:mongodb3.2.6 备份格式: /data/mongodb/bin/mongodump -h IP --port 端口号 -u 用户 -p 密码-d 数据库名-o 存储路径 恢复格式: /mnt/mongodb/bin/mongorestore -h IP --port 端口号 -u 用户名-p密码  -d 数据库名 备份的文件夹名/* 注意,如果mongodb开启了认证登录,那么需要加参数--authenticationDatabase=admin, 因为笔者使用的mongodb开

MongoDB备份(mongodump)和恢复(mongorestore)

MongoDB提供了备份和恢复的功能,分别是MongoDB下载目录下的mongodump.exe和mongorestore.exe文件 1.备份数据使用下面的命令: >mongodump -h dbhost -d dbname -o dbdirectory -h:MongDB所在服务器地址,例如:127.0.0.1,当然也可以指定端口号:127.0.0.1:27017 -d:需要备份的数据库实例,例如:test -o:备份的数据存放位置,例如:c:\data\dump,当然该目录需要提前建立,在

MongoDB导入、导出、备份、恢复、用户授权(四)

五:MongoDB导入.导出.备份.恢复.用户授权 一:数据导出,数据导入 作为DBA(管理员),经常会碰到导入导出数据的需求,下面介绍实用工具(自带的): 1:数据导入 mongoexport 导出csv格式的文件 ./mongoexport -d Test -c user1 -o /tmp/user1.out     --指定导出文件位置及文件名 数据库       集合(表) ./mongoexport -d my_mongodbTest -c user --csv -f uid,name

MongoDB整库备份与还原以及单个collection备份、恢复方法

mongodb数据库维护离不开必要的备份.恢复操作,而且一般不会出错,所以我们在使用的时候大部分时候使用备份和恢复操作就可以了 mongodump.exe备份的原理是通过一次查询获取当前服务器快照,并将快照写入磁盘中,因此这种方式保存的也不是实时的,因为在获取快照后,服务器还会有数据写入,为了保证备份的安全,同样我们还是可以利用fsync锁使服务器数据暂时写入缓存中. 高效开源数据库(mongodb)下载地址:http://www.jb51.net/softs/41751.html 备份前的检查

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数据备份和恢复主要分为二种:一种是针对库的mongodump和mongorestore,一种是针对库中表的mongoexport和mongoimport. 一. mongodump备份数据库 1. 常用命令格式 mongodump -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表 -o 文件存放路径 参数说明:-h 指明数据库宿主机的IP--port 指明数据库的端口 -u 指明数据库的用户名-p 指明数据库的密码-d 指明数据库的名字-c 指明co

Mongodb备份恢复到任意时间点

描述: 根据技术反馈,上午有人误操作删除了线上mongodb表数据,用户已反馈到客服,现在需要给用户恢复数据. 首先要确定被删除数据的数据库架构是什么模式 1.1.单点:是否有备份,有备份情况下,启动一个实例将,将备份数据导入到新实例查找新实例是否有被删除掉的数据,使用mongodump导出数据,再导入到源被删除数据实例,恢复数据.详细见本章下边内容:2.2备份和 2.5恢复 单节点mongodb没有oplog的概念,如果没有备份,数据就会出现丢失,正式环境尽量使用复制集架构. 1.2.复制集:

mongodb 备份和还原

数据的备份非常中要,一下的两种方式,当然也可以利用快照: --------------------------------------------------------------------- 一.直接拷贝数据文件方式备份还原 ---------------------------------------------------------------------- 注:当调用db.fsyncUnlock()和db.fsyncLock()命令是不要关闭shell,因为如果你启用了身份验证或者