Je viens d'implémenter auth pour mongodb, Il ya un utilisateur 'admin' dans db 'admin' et 'appadmin' dans db 'mydb' tout fonctionne bien. ci-dessous sont mes db paramètres auth:problème dans run mongostat pour auth activé mongodb
use admin
db.auth(‘’, ‘’)
db.getUsers()
[
{
"_id" : "admin.admin",
"user" : "admin",
"db" : "admin",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
},
{
"role" : "clusterMonitor",
"db" : "admin"
}
]
}
]
use mydb
db.auth()
db.getUsers()
{
"_id" : "mydb.appadmin",
"user" : "mydb",
"db" : "mydb",
"roles" : [
{
"role" : "readWrite",
"db" : "mydb"
},
{
"role" : "userAdmin",
"db" : "mydb"
}
]
}
].
Si je lance ce qui suit,
mongostat --username=admin --password=mypassword --authenticationDatabase=admin
insert query update delete getmore command flushes mapped vsize res faults qr|qw ar|aw netIn netOut conn time
*0 *0 *0 *0 0 1|0 0 240.0M 678.0M 91.0M 0 0|0 0|0 79b 10k 1 11:49:18
*0 *0 *0 *0 0 1|0 0 240.0M 678.0M 91.0M 0 0|0 0|0 79b 10k 1 11:49:19
*0 *0 *0 *0 0 1|0 0 240.0M 678.0M 91.0M 0 0|0 0|0 79b 10k 1 11:49:20
Mais quand je lance
* mongostat --username=appadmin --password=mypassword --authenticationDatabase=mydb
Failed: not authorized on admin to execute command { serverStatus: 1, recordStats: 0 },
J'essayé d'ajouter le rôle 'clusterMonitor' dans mydb .
db.updateUser(“appadmin”, {roles: [{role: "readWrite", db: “mydb”}, {role: "userAdmin", db: “mydb”}, {role: "clusterMonitor", db: “mydb”}]})
E QUERY Error: Updating user failed: No role named [email protected]
Quelle est la meilleure façon de faire mongostat dans un mongoldb auth autorisé? Aidez-moi à résoudre le problème ou à suggérer les meilleurs paramètres d'authentification. Note: ma version 3.0.6 mongodb
serait '..." rôle ":" root ", ....' accomplir la même chose? – ds011591
Il semble que 'clusterMonitor' est la clé pour exécuter mongostat. –
Je ne comprends pas. Vous avez mentionné 'mongostat' échouait pour' appadmin', mais a donné une solution pour l'utilisateur 'admin'? Pouvez-vous coller la sortie pour 'mongostat --username = appadmin --password = mot de passe --authenticationDatabase = mydb' – deppfx