Backing up your database is essential to protect against data loss and ensure data integrity. Restoring a database from a backup allows you to recover your data in case of accidental deletion, corruption, or hardware failure.

In this tutorial, we will cover how to back up and restore a MongoDB database.

Backing Up a MongoDB Database

The mongodump command is a utility provided by MongoDB that creates a database backup. It exports data from your MongoDB database into BSON files, which can be restored later.

To perform a basic backup of your MongoDB database, open your terminal and run the following command:

mongodump --db your_database_name --out /path/to/backup/directory

Here’s a breakdown of the command:

  • –db your_database_name: Specifies the name of the database you want to back up.
  • –out /path/to/backup/directory: Specifies the directory where the backup files will be stored.

For example, to backup a database named tutorialDB to /tmp directory, run:

mongodump --db tutorialDB --out /tmp/tutorialDB_backup

Output:

2024-07-15T12:29:20.438+0000	writing tutorialDB.products to /tmp/tutorialDB_backup/tutorialDB/products.bson
2024-07-15T12:29:20.439+0000	done dumping tutorialDB.products (1 document)
2024-07-15T12:29:20.442+0000	writing tutorialDB.users to /tmp/tutorialDB_backup/tutorialDB/users.bson
2024-07-15T12:29:20.443+0000	done dumping tutorialDB.users (1 document)

If your MongoDB instance is running on a non-default host or port, you can specify these using the –host and –port options:

mongodump --host your_host --port your_port --db your_database_name --out /path/to/backup/directory

Example:

mongodump --host localhost --port 27017 --db tutorialDB --out /tmp/tutorialDB_backup

If your MongoDB instance requires authentication, you can include the –username and –password options:

mongodump --username your_username --password your_password --authenticationDatabase admin --db your_database_name --out /path/to/backup/directory

Example:

mongodump --username admin --password secret --authenticationDatabase admin --db tutorialDB --out /tmp/tutorialDB_backup

Restoring a MongoDB Database

The mongorestore command is a utility for restoring a MongoDB database from BSON files created by mongodump.

To restore a MongoDB database, open your terminal and run the following command:

mongorestore --db your_database_name /path/to/backup/directory/your_database_name

Here’s a breakdown of the command:

  • –db your_database_name: Specifies the database name to which you want to restore.
  • /path/to/backup/directory/your_database_name: Specifies the directory where the backup files are located.

Example:

mongorestore --db tutorialDB /tmp/tutorialDB_backup/tutorialDB

Output:

2024-07-15T12:35:23.456+0000    restoring tutorialDB.collection1 from /tmp/tutorialDB_backup/tutorialDB/collection1.bson
2024-07-15T12:35:23.456+0000    restoring tutorialDB.collection2 from /tmp/tutorialDB_backup/tutorialDB/collection2.bson
Restore completed successfully.

If your MongoDB instance is running on a non-default host or port, you can specify these using the –host and –port options:

mongorestore --host your_host --port your_port --db your_database_name /path/to/backup/directory/your_database_name

Example:

mongorestore --host localhost --port 27017 --db tutorialDB /tmp/tutorialDB_backup/tutorialDB

If your MongoDB instance requires authentication, you can include the –username and –password options:

mongorestore --username your_username --password your_password --authenticationDatabase admin --db your_database_name /path/to/backup/directory/your_database_name

Example:

mongorestore --username admin --password secret --authenticationDatabase admin --db tutorialDB /tmp/tutorialDB_backup/tutorialDB

Conclusion

In this article, we have covered the essential steps for backing up and restoring a MongoDB database using the mongodump and mongorestore commands. Regular backups are crucial for data integrity and security while knowing how to restore data ensures you can recover from any unforeseen data loss. You can now perform a MongoDB back up and restoration on dedicated server hosting from Atlantic.Net!