NAME¶
mongodump - MongoDB
SYNOPSIS¶
mongodump is a utility for creating a binary export of the contents of a
database. Consider using this utility as part an effective
backup
strategy. Use in conjunction with
mongorestore to provide restore
functionality.
- Note
- The format of data created by mongodump tool from
the 2.2 distribution or later is different and incompatible with earlier
versions of mongod.
- See also
-
" mongorestore" and
"/administration/backups".
OPTIONS¶
- --help
- Returns a basic help and usage text.
- --verbose, -v
- Increases the amount of internal reporting returned on the
command line. Increase the verbosity with the -v form by including
the option multiple times, (e.g. -vvvvv.)
- --version
- Returns the version of the mongodump utility and
exits.
- --host <hostname><:port>
- Specifies a resolvable hostname for the mongod that
you wish to use to create the database dump. By default mongodump
will attempt to connect to a MongoDB process ruining on the localhost port
number 27017.
Optionally, specify a port number to connect a MongoDB instance running on a
port other than 27017.
To connect to a replica set, use the --host argument with a setname,
followed by a slash and a comma-separated list of host names and port
numbers. The mongodump utility will, given the seed of at least one
connected set member, connect to the primary member of that set. This
option would resemble:
mongodump --host repl0/mongo0.example.net,mongo0.example.net:27018,mongo1.example.net,mongo2.example.net
You can always connect directly to a single MongoDB instance by specifying
the host and port number directly.
- --port <port>
- Specifies the port number, if the MongoDB instance is not
running on the standard port. (i.e. 27017) You may also specify a
port number using the --host option.
- --ipv6
- Enables IPv6 support that allows mongodump to
connect to the MongoDB instance using an IPv6 network. All MongoDB
programs and processes, including mongodump, disable IPv6 support
by default.
- --ssl
- New in version 2.4: MongoDB added support for SSL
connections to mongod instances in mongodump.
- Note
- SSL support in mongodump is not compiled into the default
distribution of MongoDB. See /administration/ssl for more
information on SSL and MongoDB.
Additionally, mongodump does not support connections to mongod
instances that require client certificate validation.
Allows
mongodump to connect to
mongod instance over an SSL
connection.
- --username <username>, -u
<username>
- Specifies a username to authenticate to the MongoDB
instance, if your database requires authentication. Use in conjunction
with the --password option to supply a password.
- --password <password>, -p
<password>
- Specifies a password to authenticate to the MongoDB
instance. Use in conjunction with the --username option to supply a
username.
If you specify a --username without the --password option,
mongodump will prompt for a password interactively.
- --authenticationDatabase <dbname>
- New in version 2.4.
Specifies the database that holds the user's (e.g --username)
credentials.
By default, mongodump assumes that the database specified to the
--db argument holds the user's credentials, unless you specify
--authenticationDatabase.
See userSource, /reference/privilege-documents and
/reference/user-privileges for more information about delegated
authentication in MongoDB.
- --authenticationMechanism <name>
- New in version 2.4.
Specifies the authentication mechanism. By default, the authentication
mechanism is MONGODB-CR, which is the MongoDB challenge/response
authentication mechanism. In the MongoDB Subscriber Edition,
mongodump also includes support for GSSAPI to handle
Kerberos authentication.
See /tutorial/control-access-to-mongodb-with-kerberos-authentication
for more information about Kerberos authentication.
- --dbpath <path>
- Specifies the directory of the MongoDB data files. If used,
the --dbpath option enables mongodump to attach directly to
local data files and copy the data without the mongod. To run with
--dbpath, mongodump needs to restrict access to the data
directory: as a result, no mongod can access the same path while
the process runs.
- --directoryperdb
- Use the --directoryperdb in conjunction with the
corresponding option to mongod. This option allows mongodump
to read data files organized with each database located in a distinct
directory. This option is only relevant when specifying the
--dbpath option.
- --journal
- Allows mongodump operations to use the durability
journal to ensure that the export is in a consistent state. This
option is only relevant when specifying the --dbpath option.
- --db <db>, -d <db>
- Use the --db option to specify a database for
mongodump to backup. If you do not specify a DB, mongodump
copies all databases in this instance into the dump files. Use this option
to backup or copy a smaller subset of your data.
- --collection <collection>, -c
<collection>
- Use the --collection option to specify a collection
for mongodump to backup. If you do not specify a collection, this
option copies all collections in the specified database or instance to the
dump files. Use this option to backup or copy a smaller subset of your
data.
- --out <path>, -o <path>
- Specifies a path where mongodump and store the
output the database dump. To output the database dump to standard output,
specify a - rather than a path.
- --query <json>, -q <json>
- Provides a query to limit (optionally) the documents
included in the output of mongodump.
- --oplog
- Use this option to ensure that mongodump creates a
dump of the database that includes an oplog, to create a
point-in-time snapshot of the state of a mongod instance. To
restore to a specific point-in-time backup, use the output created with
this option in conjunction with mongorestore --oplogReplay.
Without --oplog, if there are write operations during the dump
operation, the dump will not reflect a single moment in time. Changes made
to the database during the update process can affect the output of the
backup.
--oplog has no effect when running mongodump against a
mongos instance to dump the entire contents of a sharded cluster.
However, you can use --oplog to dump individual shards.
- Note
- --oplog only works against nodes that maintain a
oplog. This includes all members of a replica set, as well as
master nodes in master/slave replication deployments.
- --repair
- Use this option to run a repair option in addition to
dumping the database. The repair option attempts to repair a database that
may be in an inconsistent state as a result of an improper shutdown or
mongod crash.
- --forceTableScan
- Forces mongodump to scan the data store directly:
typically, mongodump saves entries as they appear in the index of
the _id field. Use --forceTableScan to skip the index and
scan the data directly. Typically there are two cases where this behavior
is preferable to the default:
- 1.
- If you have key sizes over 800 bytes that would not be
present in the _id index.
- 2.
- Your database uses a custom _id field.
When you run with
--forceTableScan,
mongodump does not use
$snapshot. As a result, the dump produced by
mongodump can
reflect the state of the database at many different points in time.
- Warning
- Use --forceTableScan with extreme caution and
consideration.
- Warning
- Changed in version 2.2: When used in combination with
fsync or db.fsyncLock(), mongod may block some reads,
including those from mongodump, when queued write operation waits
behind the fsync lock.
BEHAVIOR¶
When running
mongodump against a
mongos instance where the
sharded cluster consists of
replica sets, the
read
preference of the operation will prefer reads from
secondary
members of the set.
USAGE¶
See the
/tutorial/backup-databases-with-binary-database-dumps for a
larger overview of
mongodump usage. Also see the "
mongorestore" document for an overview of the
mongorestore,
which provides the related inverse functionality.
The following command, creates a dump file that contains only the collection
named
collection in the database named
test. In this case the
database is running on the local interface on port
27017:
mongodump --collection collection --db test
In the next example,
mongodump creates a backup of the database instance
stored in the
/srv/mongodb directory on the local machine. This
requires that no
mongod instance is using the
/srv/mongodb
directory.
mongodump --dbpath /srv/mongodb
In the final example,
mongodump creates a database dump located at
/opt/backup/mongodump-2011-10-24, from a database running on port
37017 on the host
mongodb1.example.net and authenticating using
the username
user and the password
pass, as follows:
mongodump --host mongodb1.example.net --port 37017 --username user --password pass /opt/backup/mongodump-2011-10-24
AUTHOR¶
MongoDB Documentation Project
COPYRIGHT¶
2011-2013, 10gen, Inc.