Heim > Datenbank > MySQL-Tutorial > Hauptteil

Was soll ich tun, wenn die Authentifizierung der Remoteverbindung unter Mongodb 3.4 fehlschlägt?

零下一度
Freigeben: 2017-07-03 16:33:20
Original
1206 Leute haben es durchsucht

Dieser Artikel stellt Ihnen hauptsächlich die Lösung für den Fehler bei der Remote-Verbindungsauthentifizierung unter mongodb 3.4 vor Ich brauche es. Folgen wir dem Herausgeber, um gemeinsam zu lernen.

Vorwort

Es ist ziemlich mühsam, die Autorisierungsfunktion in mongodb ein- oder auszuschalten. Sie müssen mongod --auth eingeben, um eine zu erstellen neuer Dienst. Der Einfachheit halber habe ich hier zwei Dienste erstellt und kann zu jedem Dienst wechseln, den ich verwende.


--需要授权

mongod --logpath "D:\data\log\mongodb.log" --logappend --dbpath "D:\data\db" --auth --serviceName 

"MongoDBService" --serviceDisplayName "MongoDBService" --install

--不需要授权

mongod --logpath "D:\data\log\mongodb.log" --logappend --dbpath "D:\data\db" --serviceName 

"MongoDBServiceNoAuth" --serviceDisplayName "MongoDBServiceNoAuth" --install
Nach dem Login kopieren

Kommen wir zum Punkt. Nachdem ich mongodb hier konfiguriert habe, kann ich über db.auth('username','password') lokal darauf zugreifen, aber nicht remote über den Client Tools und C#-Code. Stellen Sie sicher, dass die Firewall nicht aktiviert ist und die Mongodb-Datenbank standardmäßig für alle IPs zugänglich ist.

Später sah ich versehentlich „Die Verwendung von Robomongo zum Herstellen einer Verbindung zu MongoDB 3.x meldete eine fehlgeschlagene Autorisierungslösung“ Dieser Artikel folgt einfach der oben genannten Methode.

Die Methode ist wie folgt:

Zuerst habe ich die Datenbankversion überprüft und festgestellt, dass dies der Fall ist Fall.


> use admin

switched to db admin

> db.system.version.find()

{ "_id" : "featureCompatibilityVersion", "version" : "3.4" }

{ "_id" : "authSchema", "currentVersion" : 5 }
Nach dem Login kopieren

2. Aktivieren Sie den MongoDBServiceNoAuth-Dienst, verwenden Sie den db.dropUser('username')-Befehl , um alle ursprünglichen Benutzer vor zu löschen, und führen Sie dann die Version aus Befehl ändern.


>db.dropUser('admin')

>db.dropUser('root')

>db.dropUser('dba')

>db.system.version.update({"_id":"authSchema"},{$set:{"currentVersion":3}})
Nach dem Login kopieren

3. Erstellen Sie doppelte Benutzer

> db.createUser({user:"admin",pwd:"********",roles:[{"role":"userAdminAnyDataba

se","db":"admin"},{"role":"readWrite","db":"qxkf"}]})

Successfully added user: {

  "user" : "admin",

  "roles" : [

    {
      "role" : "userAdminAnyDatabase",

      "db" : "admin"

    },
    {
      "role" : "readWrite",

      "db" : "qxkf"

    }

  ]

}
Nach dem Login kopieren

4. Sie können das Robomongo-Tool verwenden, um zu überprüfen, ob es PASS ist Hier.

Das obige ist der detaillierte Inhalt vonWas soll ich tun, wenn die Authentifizierung der Remoteverbindung unter Mongodb 3.4 fehlschlägt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage