MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Impossibile connettersi con il superutente MongoDB agli altri database dal terminale

Il mongo autenticato è un vero rompiscatole. Anche se il tuo superutente è fondamentalmente onnipotente per natura di [ "userAdminAnyDatabase", "dbAdminAnyDatabase", "clusterAdmin", "readWriteAnyDatabase"], il suo account system.user è ancora basato nel database "admin" se lo configuri come da http://docs.mongodb.org/manual/tutorial/enable-authentication/ . Ciò significa che devi prima accedere a "admin", quindi puoi "utilizzare il database" per spostarti.

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

In alternativa, sospetto ma non ho testato che potresti mettere il tuo superutente nel database "test" piuttosto che "admin" che è dove la shell ti atterra per impostazione predefinita. Ciò ti consentirebbe di lasciare "admin" fuori dalla riga di comando di mongo, ma ora hai i tuoi utenti mantenuti in luoghi diversi. Roccia. Posto difficile.