it-swarm.com.de

MongoDB für die mLab-Authentifizierung schlägt fehl

Ein neues mLab-Konto und eine Datenbank gemäß den hier beschriebenen Schritten erstellt http://docs.mlab.com/#create-sub . Beim Versuch, mit der Mongo-Shell und dem Modul mongoose Node.js eine Verbindung zur Datenbank herzustellen, wird jedoch in beiden Fällen der Fehler "Authentication Failed" angezeigt. 

In Mongo Shell lautet der Befehl: Ich habe die Anmeldeinformationen noch einmal geprüft

mongo ds012345.mlab.com:56789/dbname -u dbuser -p dbpassword

Error:

MongoError: authentication fail
at Function.MongoError.create (E:\Gatsby\notmongoose\node_modules\mongodb-core\lib\error.js:31:11)

Verwendung von Mungo

var mongoose = require('mongoose')
, Admin = mongoose.mongo.Admin;

var uri = '<correct mongo uri here>';

var connection = mongoose.createConnection(uri,
{    
User: '<uname>',
Password: '<pwd>'
});
connection.on('open', function() {

console.log('connection established!!!');

new Admin(connection.db).listDatabases(function(err, result) {
    console.log('listDatabases succeeded');
    console.log(err);
    console.log(result); 
});

});

Fehler :: MongoConnect Fehler MongoError: Authentifizierung schlägt fehl

Gibt es noch etwas, was auf der mLab-Konsole getan werden muss, oder was ich sonst falsch mache oder vermisse?

9
Brst dev7

Sie müssen einen neuen Benutzer für die Datenbank in mLab account erstellen. Melden Sie sich mit diesem erstellten Benutzer in mlab account an. Klicken Sie anschließend auf die gewünschte Datenbank und klicken Sie auf die Registerkarte "Benutzer". Siehe untenstehendes Bild: users tab and add new user

Füllen Sie nun das Formular aus und erstellen Sie einen Benutzer für die Datenbank. Siehe Bild unten:

enter image description here

Verwenden Sie nun im Code die folgende Zeichenfolge für die Verbindung:

var mongoose = require('mongoose');

var mongoDB = "mongodb://<username>:<password>@ds241489.mlab.com:41489/<DB Name>";

mongoose.connect(mongoDB, {
    useMongoClient: true
});

var db = mongoose.connection;

db.on('error', console.error.bind(console, 'MongoDB connection error:'));
16
Deep Kakkar

Ich stieß auf das gleiche Problem und in meinem Fall war es ein Problem der Kompatibilität der Client-Version, wie hier .

Meine mLab-Mongo-Datenbank war Version 3.4.9, aber die Client-Befehlszeilenversion, die ich hatte, die aus den offiziellen Ubunty Xenial-Repos stammt, war Version 2.6.10.

Dieser Fehler wurde mit "Authentifizierung fehlgeschlagen" ausgegeben, obwohl die verwendeten Anmeldeinformationen (Datenbankanmeldeinformationen, nicht mlab-Benutzeranmeldeinformationen) korrekt waren.

8
Julian Cerruti

Sie verwenden wahrscheinlich Ihre mLab-Berechtigungsnachweise für dbuser und dbpassword

Sie sollten einen neuen Benutzer für die Datenbank erstellen in der Weboberfläche von mLab und versuchen, sich mit diesem Benutzer anzumelden. 

So erstellen Sie einen Benutzer für eine Datenbank in mLab: 

  1. Wählen Sie Datenbank
  2. Wechseln Sie zur Registerkarte Benutzer
  3. Klicken Sie auf add database user
5
Kayvan Mazaheri
 var mongoose = require('mongoose');

 var mongoDB = "mongodb://user:[email protected]:13936/brary";

 mongoose.connect(mongoDB, {
    useMongoClient: true
 });

 var db = mongoose.connection;

 db.on('error', console.error.bind(console, 'MongoDB connection error:'));

Hinweis: Sie müssen einen Benutzer für Ihre Datenbank in Mlab erstellen. Dies sind nicht die Zugangsdaten Ihres Kontos auf Mlab . Hier wird meindurch Benutzer und dbpassword ersetzt durch 123456 Wenn Ihr Passwort ein Sonderzeichen enthält Wie @, # müssen Sie es umgehen, indem Sie 'dbuser' einschließen: 'dbpassword' 

4
Afrikhero

Verbindung von Robomongo/Robo 3T? Stellen Sie sicher, dass der Authentifizierungsmechanismus SCRAM-SHA-1 ist.

 Auth Mechanism

0
Abhi

sind Sie sicher, dass Sie Ihren Datenbankbenutzernamen und Ihr Kennwort verwenden? , da in den meisten Fällen Benutzer ihren Kontonutzernamen verwenden.

wählen Sie Ihre Datenbank aus und klicken Sie auf Benutzer, um Ihren Datenbankbenutzernamen zu finden

0
daniel