it-swarm.com.de

Backup-Mongodump kann nicht mit --db erstellt werden. Authentifizierung fehlgeschlagen

Wenn ich ein Backup aller Datenbanken in MongoDB (Version 3) erstelle:

mongodump --username bacUser --password 12345

Es ist in Ordnung. Wenn ich jedoch versuche, eine Sicherungskopie einer ausgewählten Datenbank zu erstellen:

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

Es gibt mir diesen Fehler:

Fehler: Fehler beim Verbindungsaufbau zum Datenbankserver: Server hat Fehler bei SASL-Authentifizierungsschritt zurückgegeben: Authentifizierung fehlgeschlagen.

21

damit arbeiten:

--authenticationDatabase admin

die Befehle mongodump und mongorestore benötigen den Namen der Datenbank, in der die Anmeldeinformationen des Benutzers mongodb gespeichert sind. (Danke @Zubair Alam)

51

Das sollte funktionieren.

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

Dieser Fehler kann auch angezeigt werden, wenn Benutzername oder Passwort falsch sind.

18
Milos Matic

Wenn Sie immer noch dieselbe Fehlermeldung mit --authenticationDatabase admin erhalten, sind wahrscheinlich Ihr Benutzername und Ihr Kennwort falsch. __ Versuchen Sie, einen Benutzer db.createUser () mit der entsprechenden Rolle (ich habe auch die Schreibberechtigung erteilt)

als unter dem folgenden Befehl ausführen: (Ignoriere -h, wenn Sie lokal ausführen)

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

Hoffe das hilft...

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

für Dump und Restore

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

Verwenden Sie signle Zitat um das Passwort. wenn Sie ein Sonderzeichen in Ihrem Passwort verwenden. Das wird Ihr Problem lösen. Verwenden Sie den folgenden Befehl.

mongodump -d Datenbankname -u Benutzername -p 'Kennwort' --out Verzeichnisname

1
adeel

Die folgenden Schritte haben für MongoDB 3.2 funktioniert:

  1. Überprüfen Sie natürlich, ob Ihr Admin-Benutzername und Ihr Passwort korrekt sind. Sie können dies mit der Mongo-Shell tun:

mongo

verwenden Sie admin db.auth ("admin", "yourpassword")

Wenn 1 zurückgegeben wird, ist das Kennwort korrekt.

  1. Fügen Sie dann die Rolle "backup" zu Ihrem Administrator hinzu (oder stellen Sie sicher, dass diese Rolle bereits hinzugefügt ist) . Db.grantRolesToUser ("admin", [{role: "backup", db: "admin"}])

  2. Zum Schluss noch den Befehl mongodump. Es hat nicht funktioniert, als ich versuchte, das Passwort als Argument zu übergeben. Tun Sie dies stattdessen:

mongodump --username admin --authenticationDatenbank admin --db IhreMongodatabase

Dann geben Sie Ihr Passwort ein, wenn es dazu aufgefordert wird.

Das funktioniert für mich ...

1
user2996950

Ich hatte das gleiche Problem, als ich versuchte, meine Datenbankinformationen von mLab zu löschen. Es geschah, weil ich lokal 2.x mongo und 3.x in mLab hatte. Beim Upgrade meines lokalen Mongo auf dieselbe Hauptversion wie mit mLab konnte ich das Dumping durchführen und so das Problem lösen.

0

Wenn Sie mLab verwenden, stimmt möglicherweise die Version in Ihrem lokalen Mongo nicht mit mLab überein. Standardmäßig installiert Ubuntu mongo v2.x und mLab ist v3.x. Sie könnten mit diesem Befehl überprüfen:

mongo --version

Neue Mongo-Version installieren:

  1. Entferne deinen alten lokalen Mongo (, er kann deine gesamte lokale Datenbank entfernen )
Sudo apt remove mongo-clients mongodb
  1. Importieren Sie den vom Paketverwaltungssystem verwendeten öffentlichen Schlüssel.
Sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv D68FA50FEA312927
  1. Erstellen Sie eine Listendatei für MongoDB.

    • Ubuntu 14.04
echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.2 multiverse" | Sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list
  • Ubuntu 16.04
echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 multiverse" | Sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list
  1. Installieren Sie die MongoDB-Pakete
Sudo apt-get install -y mongodb-org

Ref: https://docs.mongodb.com/v3.2/tutorial/install-mongodb-on-ubuntu/

Jetzt können Sie Ihre Datenbank mit folgendem Befehl sichern :

mongodump -h <Host>:<port> -d <database-name> -u <user> -p <password> -o <output directory>
0
windyzboy