700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > mongodb之 mongodump 与 mongorestore

mongodb之 mongodump 与 mongorestore

时间:2020-03-07 09:17:14

相关推荐

mongodb之 mongodump 与 mongorestore

一、备份

和之前介绍的 mongoexport 的数据导出工具不同, mongodump 是将数据以二进制形式导出,而 mongoexport 导出的数据格式为 csv 或 json 格式; mongodump 可以导出一个数据库,或者整个 MongoDB 服务上的所有数据库,因此 mongodump 是更大范围的备份工具。

[root@mysql3 admin]# mongodump --help

Usage:

mongodump <options>

Export the content of a running server into .bson files.

Specify a database with -d and a collection with -c to only dump that database or collection.

See /manual/reference/program/mongodump/ for more information.

general options:

--help print usage

--version print the tool version and exit

verbosity options:

-v, --verbose=<level> more detailed log output (include multiple times for more verbosity, e.g.

-vvvvv, or specify a numeric value, e.g. --verbose=N)

--quiet hide all log output

connection options:

-h, --host=<hostname> mongodb host to connect to (setname/host1,host2 for replica sets)

--port=<port> server port (can also use --host hostname:port)

ssl options:

--ssl connect to a mongod or mongos that has ssl enabled

--sslCAFile=<filename> the .pem file containing the root certificate chain from the certificate

authority

--sslPEMKeyFile=<filename> the .pem file containing the certificate and key

--sslPEMKeyPassword=<password> the password to decrypt the sslPEMKeyFile, if necessary

--sslCRLFile=<filename> the .pem file containing the certificate revocation list

--sslAllowInvalidCertificates bypass the validation for server certificates

--sslAllowInvalidHostnames bypass the validation for server name

--sslFIPSMode use FIPS mode of the installed openssl library

authentication options:

-u, --username=<username> username for authentication

-p, --password=<password> password for authentication

--authenticationDatabase=<database-name> database that holds the user's credentials

--authenticationMechanism=<mechanism> authentication mechanism to use

namespace options:

-d, --db=<database-name> database to use

-c, --collection=<collection-name> collection to use

query options:

-q, --query= query filter, as a JSON string, e.g., '{x:{$gt:1}}'

--queryFile= path to a file containing a query filter (JSON)

--readPreference=<string>|<json> specify either a preference name or a preference json object

--forceTableScan force a table scan

output options:

-o, --out=<directory-path> output directory, or '-' for stdout (defaults to 'dump')

--gzip compress archive our collection output with Gzip

--repair try to recover documents from damaged data files (not supported by all

storage engines)

--oplog use oplog for taking a point-in-time snapshot

--archive=<file-path> dump as an archive to the specified path. If flag is specified without a

value, archive is written to stdout

--dumpDbUsersAndRoles dump user and role definitions for the specified database

--excludeCollection=<collection-name> collection to exclude from the dump (may be specified multiple times to

exclude additional collections)

--excludeCollectionsWithPrefix=<collection-prefix> exclude all collections from the dump that have the given prefix (may be

specified multiple times to exclude additional prefixes)

-j, --numParallelCollections= number of collections to dump in parallel (4 by default) (default: 4)

--viewsAsCollections dump views as normal collections with their produced data, omitting

standard collections

# 备份指定数据库中的某个集合

mongodump -d andy -h 10.100.25.42:27001 -o mongo_andy.dmp -c XX

# 备份指定数据库

mongodump -d andy -h 10.100.25.42 --port 27001 -o mongo_andy.dmp

说明:从日志看出,mongodump 的结果会生成一个目录,第一层目录为数据库名,再下一层为每个集合对应的备份文件。

# 备份实例所有数据库

mongodump -h 10.100.25.42 --port 27001 -o mongo_all.dmp

说明:mongodump 如果不指定 -d 参数,刚会备份整个 MongoDB 实例。

二、恢复

[root@mysql3 admin]# mongorestore --help

Usage:

mongorestore <options> <directory or file to restore>

Restore backups generated with mongodump to a running server.

Specify a database with -d to restore a single database from the target directory,

or use -d and -c to restore a single collection from a single .bson file.

See /manual/reference/program/mongorestore/ for more information.

general options:

--help print usage

--version print the tool version and exit

verbosity options:

-v, --verbose=<level> more detailed log output (include multiple times for more verbosity, e.g.

-vvvvv, or specify a numeric value, e.g. --verbose=N)

--quiet hide all log output

connection options:

-h, --host=<hostname> mongodb host to connect to (setname/host1,host2 for replica sets)

--port=<port> server port (can also use --host hostname:port)

ssl options:

--ssl connect to a mongod or mongos that has ssl enabled

--sslCAFile=<filename> the .pem file containing the root certificate chain from the certificate

authority

--sslPEMKeyFile=<filename> the .pem file containing the certificate and key

--sslPEMKeyPassword=<password> the password to decrypt the sslPEMKeyFile, if necessary

--sslCRLFile=<filename> the .pem file containing the certificate revocation list

--sslAllowInvalidCertificates bypass the validation for server certificates

--sslAllowInvalidHostnames bypass the validation for server name

--sslFIPSMode use FIPS mode of the installed openssl library

authentication options:

-u, --username=<username> username for authentication

-p, --password=<password> password for authentication

--authenticationDatabase=<database-name> database that holds the user's credentials

--authenticationMechanism=<mechanism> authentication mechanism to use

namespace options:

-d, --db=<database-name> database to use when restoring from a BSON file

-c, --collection=<collection-name> collection to use when restoring from a BSON file

--excludeCollection=<collection-name> DEPRECATED; collection to skip over during restore (may be specified

multiple times to exclude additional collections)

--excludeCollectionsWithPrefix=<collection-prefix> DEPRECATED; collections to skip over during restore that have the given

prefix (may be specified multiple times to exclude additional prefixes)

--nsExclude=<namespace-pattern> exclude matching namespaces

--nsInclude=<namespace-pattern> include matching namespaces

--nsFrom=<namespace-pattern> rename matching namespaces, must have matching nsTo

--nsTo=<namespace-pattern> rename matched namespaces, must have matching nsFrom

input options:

--objcheck validate all objects before inserting

--oplogReplay replay oplog for point-in-time restore

--oplogLimit=<seconds>[:ordinal] only include oplog entries before the provided Timestamp

--oplogFile=<filename> oplog file to use for replay of oplog

--archive=<filename> restore dump from the specified archive file. If flag is specified

without a value, archive is read from stdin

--restoreDbUsersAndRoles restore user and role definitions for the given database

--dir=<directory-name> input directory, use '-' for stdin

--gzip decompress gzipped input

restore options:

--drop drop each collection before import

--dryRun view summary without importing anything. recommended with verbosity

--writeConcern=<write-concern> write concern options e.g. --writeConcern majority, --writeConcern '{w:

3, wtimeout: 500, fsync: true, j: true}' (defaults to 'majority')

(default: majority)

--noIndexRestore don't restore indexes

--noOptionsRestore don't restore collection options

--keepIndexVersion don't update index version

--maintainInsertionOrder preserve order of documents during restoration

-j, --numParallelCollections= number of collections to restore in parallel (4 by default) (default: 4)

--numInsertionWorkersPerCollection= number of insert operations to run concurrently per collection (1 by

default) (default: 1)

--stopOnError stop restoring if an error is encountered on insert (off by default)

--bypassDocumentValidation bypass document validation

# 追加恢复

mongorestore -h 10.100.25.42:27001 /tmp/mongo_andy.dmp

# 恢复前先删除数据库中与备份集相同对象

mongorestore -h 10.100.25.42:27001 --drop /tmp/mongo_andy.dmp

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。