mongo db backup

January 9, 2017 357 views
MongoDB Ubuntu 16.04 Ubuntu

I tried to set up Backups with mongodump command.
I used this Tutorial: https://www.digitalocean.com/community/tutorials/how-to-back-up-restore-and-migrate-a-mongodb-database-on-ubuntu-14-04

But when i execute folowing command:
sudo mongodump --db newdb --out /var/backups/mongobackups/date +"%m-%d-%y"
I get this error:

Failed: error getting collections for database ibyc_db: error running listCollections. Database: ibyc_db Err: not authorized on ibyc_db to execute command { listCollections: 1, cursor: {} }

I am running a node.js application and it works fine. The application is able to write and read to the database.

Could someone help with the mongodump command?

Thx a lot

1 Answer

You may need to provide a username and password to the mongodump command and also ensure that the user that you are using has the "backup" role on it which will provide the needed permissions.

From the official documentation for mongodump:

To run mongodump against a MongoDB deployment that has access control enabled, you must have privileges that grant find action for each database to back up. The built-in backup role provides the required privileges to perform backup of any and all databases.

Changed in version 3.2.1: The backup role provides additional privileges to back up the system.profile collections that exist when running with database profiling. Previously, users required an additional read access on this collection.
  • thanks for your quick answer.
    I tried with the user/password that we use for our application, dont work.
    Did i understand you right: I have to create another user with backup role and use it in the mongodump command?

    thx

  • could you provide a snipped how to grant the "backup" role to a user?

Have another answer? Share your knowledge.