J'utilise la version MongoDB3.4, Tout d'abord vous voulez un accès root pour la base de données admin et connectez mongo shell,
$ mongo -u nom d'utilisateur -p xxxxxx --authenticationDatabase admin
Après avoir connecté mongoshell, changer la base de données,
> use products
Après le changement de la DB créer le nouvel utilisateur,
> db.createUser( { user: "webdev", pwd: "xxxxx", roles: [ { role: "read", db: "products" }, { role: "backup", db: "products"} ] } )
Ci-dessus j'ai mentionné, webdev utilisateur peut être capable de lire toutes les collections et prendre l'accès de sauvegarde aussi.
> db.auth('webdev', 'xxxxx')
après authentification avec succès, vous pouvez capable de lire et de prendre la sauvegarde de DEV serveur. Ci-dessous j'ai mentionné la requête de mongodump avec le nouvel utilisateur de webdev de
mongodump --host hostname --port 27017 --username webdev --password xxxxx --authenticationDatabase products --db products --collection collection_name --out mongodump_outpath
Reportez-vous: https://docs.mongodb.com/manual/reference/built-in-roles/#backup
Note:
- Ne prenez pas mongodump souvent dans la production. Cela aura un impact sur le problème de performance .
- Ne donnez pas de sauvegarde et de rétablir l'accès à toutes les autres équipes comme développeur, testeur , etc ..
Admin ou DBA uniquement faire à chaque fois que la sauvegarde/restauration.
Merci. S'il vous plaît revenir pour toute préoccupation.
C'était la réponse exacte! Merci beaucoup anresk – Govna