- Administration >
- Administration Tutorials >
- Backup and Recovery >
- Backup and Restore Sharded Clusters >
- Backup a Small Sharded Cluster with
mongodump
Backup a Small Sharded Cluster with mongodump
¶
On this page
Overview¶
If your sharded cluster holds a small data set, you can
connect to a mongos
using mongodump
. You can
create backups of your MongoDB cluster, if your backup infrastructure
can capture the entire backup in a reasonable amount of time and if
you have a storage system that can hold the complete MongoDB data set.
See MongoDB Backup Methods and Backup and Restore Sharded Clusters for complete information on backups in MongoDB and backups of sharded clusters in particular.
Important
By default mongodump
issue its queries to
the non-primary nodes.
To backup all the databases in a cluster via mongodump
, you
should have the backup
role. The backup
role provides
all the needed privileges for backing up all database. The role confers no
additional access, in keeping with the policy of least privilege.
To backup a given database, you must have read
access on the database.
Several roles provide this access, including the backup
role.
To backup the system.profile
collection in a database, you must have
read
access on certain system collections in the database. Several roles
provide this access, including the clusterAdmin
and
dbAdmin
roles.
Changed in version 2.6.
To backup users and user-defined roles for a
given database, you must have access to the admin
database. MongoDB
stores the user data and role definitions for all databases in the
admin
database.
Specifically, to backup a given database’s users, you must have the
find
action on the admin
database’s admin.system.users
collection. The backup
and userAdminAnyDatabase
roles both provide this privilege.
To backup the user-defined roles on a database, you must have the
find
action on the admin
database’s
admin.system.roles
collection. Both the backup
and
userAdminAnyDatabase
roles provide this privilege.
Considerations¶
If you use mongodump
without specifying a database
or collection, mongodump
will capture collection data
and the cluster meta-data from the config servers.
You cannot use the --oplog
option for
mongodump
when capturing data from
mongos
. As a result, if you need to capture a backup that
reflects a single moment in time, you must stop all writes to the
cluster for the duration of the backup operation.
Procedure¶
Capture Data¶
You can perform a backup of a sharded cluster by connecting
mongodump
to a mongos
. Use the following
operation at your system’s prompt:
mongodump
will write BSON files that hold a copy of
data stored in the sharded cluster accessible via the
mongos
listening on port 27017
of the
mongos3.example.net
host.
Restore Data¶
Backups created with mongodump
do not reflect the chunks or
the distribution of data in the sharded collection or
collections. Like all mongodump
output, these backups
contain separate directories for each database and BSON files
for each collection in that database.
You can restore mongodump
output to any MongoDB instance,
including a standalone, a replica set, or a new
sharded cluster. When restoring data to sharded cluster, you
must deploy and configure sharding before restoring data from the
backup. See Deploy a Sharded Cluster for more information.