web-dev-qa-db-fra.com

Impossible de créer une sauvegarde de sauvegarde avec --db. Authentification échouée

Lorsque je crée une sauvegarde de toutes les bases de données dans MongoDB (version 3):

mongodump --username bacUser --password 12345

C'est bon. Mais quand j'essaie de créer une sauvegarde d'une base de données sélectionnée:

mongodump --username bacUser --password 12345 --db test

Cela me donne cette erreur:

Failed: erreur de connexion au serveur de base de données: le serveur a renvoyé une erreur à l'étape d'authentification SASL: échec de l'authentification.

21
Vladislav Orillo

travailler avec ceci:

--authenticationDatabase admin

les commandes mongodump et mongorestore ont besoin du nom de la base de données où les informations d'identification de l'utilisateur mongodb sont stockées. (merci @Zubair Alam)

51
Vladislav Orillo

Cela devrait marcher.

mongodump -h SERVER_NAME:PORT -d DATABASE_NAME -u DATABASE_USER -p PASSWORD

De plus, cette erreur peut apparaître si le nom d'utilisateur ou le mot de passe est incorrect.

18
Milos Matic

Si vous obtenez toujours la même erreur avec --authenticationDatabase admin, votre nom d'utilisateur et votre mot de passe sont probablement incorrects . Essayez d'ajouter un utilisateur db.createUser (), avec le rôle approprié (j'ai également donné l'autorisation d'écriture)

que exécuter en dessous de la commande: (ignore -h si vous utilisez local)

 mongodump -h <ip>:<port_number> -d db_name -u newUser -p newPassword -o /home/mongodump/

J'espère que cela t'aides...

4
Shirish Singh
mongodump --collection coll_name --db DBname  -u UName -p *** 
          --authenticationDatabase <admin/privileged> --Host ip  
          --port portNo  --out foldName
4

pour vider et restaurer

mongodump --db nameDatabase --username userName --password password --authenticationDatabase admin --out mongodb\
mongorestore --db nameDatabase --username userName --password password --authenticationDatabase admin <path backup> --drop
1
user3784566

Utilisez la citation signalisée autour du mot de passe. si vous utilisez un caractère spécial dans votre mot de passe. Cela résoudra votre problème. Utilisez la commande suivante.

mongodump -d nom_base_données -u nom_utilisateur -p 'mot_passe' --out nom_répertoire

1
adeel

Les étapes suivantes ont fonctionné pour moi sur MongoDB 3.2:

  1. Vérifiez bien sûr si votre nom d'utilisateur et votre compte administrateur sont corrects. Vous pouvez le faire avec le mongo Shell:

mongo

utilisez admin db.auth ("admin", "votre mot de passe")

Si cela retourne 1, le mot de passe est correct.

  1. Ajoutez ensuite le rôle "backup" à votre administrateur (ou assurez-vous que ce rôle est déjà ajouté) . Db.grantRolesToUser ("admin", [{role: "backup", db: "admin"}])

  2. Enfin, la commande mongodump. Cela n'a pas fonctionné pour moi lorsque j'ai essayé de passer le mot de passe en argument. Au lieu de cela, faites ceci:

mongodump --username admin --authenticationDatabase admin --db yourmongodatabase

Ajoutez ensuite votre mot de passe quand il vous le promet.

Cela fonctionne pour moi ...

1
user2996950

J'avais le même problème lorsque j'essayais de transférer les informations de ma base de données de mLab . Cela se passait car j’avais mongo 2.x localement et 3.x dans mLab. Mettre à niveau mon mongo local vers la même version majeure que mLab m'a permis d'effectuer le vidage, résolvant ainsi le problème.

0
Marcelo Lazaroni