Commandes d'administration utiles
Création, modification et suppression d'utilisateurs
Création d'utilisateurs
- Utiliser la commande
db.createUser()
- Exemple :
db.createUser({ user: "techy", pwd: "password", roles: ["readWrite", "dbAdmin"] })
Modification d'utilisateurs
- Utiliser la commande
db.updateUser()
- Exemple :
db.updateUser("techy", { roles: ["readWrite", "dbAdmin", "clusterAdmin"] })
Suppression d'utilisateurs
- Utiliser la commande
db.dropUser()
- Exemple :
db.dropUser("techy")
Attribution et retrait de rôles
Attribution de rôles
- Les rôles sont attribués lors de la création d'un utilisateur, comme montré précédemment.
- Pour mettre à jour les rôles d'un utilisateur existant, utilisez la commande
db.updateUser()
avec les nouveaux rôles, comme expliqué dans la section "Modification d'utilisateurs".
Création de rôles
db.createRole({
role: "customRole",
privileges: [
{
resource: { db: "exampleDB", collection: "exampleCollection" },
actions: ["find", "update", "remove"]
}
],
// roles hérités
roles: ["read"]
})
Retrait de rôles
- Mettre à jour les rôles d'un utilisateur avec
db.updateUser()
- Spécifier uniquement les rôles à conserver.
Opérations de maintenance
Compactage de collections
- Utiliser la commande
db.runCommand({ compact: "collectionName" })
- Exemple :
db.runCommand({ compact: "products" })
- À noter : opération bloquante pour la collection concernée
Vérification de l'intégrité de la base de données
- Utiliser la commande
db.runCommand({ validate: "collectionName" })
- Exemple :
db.runCommand({ validate: "products" })
- Vérifier les erreurs et les avertissements dans le résultat
Surveillance et diagnostic
Utilisation de la commande db.stats()
- Obtenir des statistiques sur l'utilisation de la base de données
- Exemple :
db.stats()
- Analyser les résultats pour déterminer l'utilisation de la mémoire, de l'espace disque, etc.
- Utiliser la commande
db.collection.getIndexes()
- Exemple :
db.products.getIndexes()
- Examiner les index pour déterminer leur utilisation et leur impact sur les performances
- Utiliser la commande
db.collection.explain("executionStats").find(query)
- Exemple :
db.products.explain("executionStats").find({ category: "electronics" })
- Analyser les statistiques d'exécution pour optimiser les requêtes et les index