MongoDB replica set mit einfacher Kennwort-Authentifizierung
Ich habe eine MongoDB replica set von 3 Servern (1 primary, 1 secondary, 1 Schiedsrichter; dies ist die Standard-Replikatsatz erstellt durch Google-Cloud, 1-click-Installation). Die 2 config Dateien (mongod.conf) von primären server und sekundären server geändert wurden, mit "an Sicherheit.Autorisierung: aktiviert" Hinzugefügt.
Root-Benutzer Hinzugefügt wird, mit den folgenden MongoDB shell-Befehl:
use admin
db.createUser({user:"root",pwd:"root",roles:["root"]})
Nach dem Neustart MongoDB Dienstleistungen auf den primären und sekundären Servern mit "sudo service mongod starten", Verbindung in der Replikat-Gruppe stellt sich instabil.
rs.status() manchmal geben Sie das Ergebnis als
- 1 primäre, 1 nicht erreichbar, 1 Schiedsrichter
- 1 Sekundär 1 secondary, 1 Schiedsrichter
- 1 secondary, 1 nicht erreichbar, 1 Schiedsrichter
, Wie das grundlegende Kennwortauthentifizierung (nicht mit der Schlüsseldatei) für MongoDB replica set der richtige Weg?
- Geben Sie bitte den vollständigen output von rs.status (), die Sie beobachten.
- Auch können Sie etwas konkreter über das, was du meinst mit "instabil"? Ist die rs.status() beobachtet ständig so? Nur für einen Zeitraum sicher? Intermittierende?
- hey Mann, ich bin eigentlich vor einem Fehler
Error: couldn't add user: not authorized on admin to execute command
. Sie können auch finden, hier meine Frage stackoverflow.com/questions/41783700/... . Es wäre viel viel einfacher, wenn Sie mir sagen könnten, von welcher url(Quelle), die Sie getan haben, das ganze Passwort-Authentifizierung Sache, bitte helft mir ich habe überall gesucht, aber habe nichts gefunden ?? - verwenden Sie admin zuerst zu authentifizieren, dann db.auth('username','password')
Du musst angemeldet sein, um einen Kommentar abzugeben.
Habe ich endlich die Antwort gefunden. MongoDB replica set braucht sowohl Benutzer-Konto und keyfile. Keyfile scheint für die Authentifizierung zwischen Servern in der Replikatgruppe, die nicht für die Anmeldung.
Erstellen mongodb key-Datei auf linux-kopieren Sie alle db-Server mit Modus
600
intakt:mongod.conf-Datei:
Admin Benutzer:
mongod
ohne Authentifizierung ist es nichtrs.initiate()
oder Nutzer zu erstellen. Wissen Sie, warum?replication:
erstellen Sie ein admin-Benutzer und dann neu starten mitreplication:
aktiviert und führenrs.initiate()
? Wann beginne ich mit der verbleibenden Instanzen?Error: couldn't add user: not authorized on admin to execute command
. Sie können auch finden, hier meine Frage stackoverflow.com/questions/41783700/... . Es wäre viel viel einfacher, wenn Sie mir sagen könnten, von welcher url(Quelle), die Sie getan haben, das ganze Passwort-Authentifizierung Sache, bitte helft mir ich habe überall gesucht, aber habe nichts gefunden ??