MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Vom Terminal aus kann keine Verbindung mit dem MongoDB-Superuser zu den anderen Datenbanken hergestellt werden

Authentifizierter Mongo ist ein königlicher Schmerz im Hintern. Auch wenn Ihr Superuser von Natur aus allmächtig ist [ "userAdminAnyDatabase", "dbAdminAnyDatabase", "clusterAdmin", "readWriteAnyDatabase"], basiert sein system.user-Konto immer noch auf der "admin"-Datenbank, wenn Sie es gemäß http://docs.mongodb.org/manual/tutorial/enable-authentication/ . Das bedeutet, dass Sie sich zuerst bei "admin" anmelden müssen, dann können Sie "Datenbank verwenden" wie Sie möchten.

$ mongo mono -u superuser -p 1234 admin
MongoDB shell version: 2.4.6
connecting to: admin
myReplSet:PRIMARY> use mono

Alternativ vermute ich, habe es aber nicht getestet, dass Sie Ihren Superuser in die Datenbank "test" und nicht in "admin" einfügen könnten, wo Sie die Shell standardmäßig landet. Dadurch könnten Sie den "admin" aus der Mongo-Befehlszeile entfernen, aber jetzt haben Sie Ihre Benutzer an verschiedenen Stellen verwaltet. Felsen. Schwerer Platz.