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#
FIXME: expliquer
- Inclure les rôles lors de la création d'utilisateurs
- Mettre à jour les rôles d'un utilisateur existant
Retrait de rôles#
- Mettre à jour les rôles d'un utilisateur avec
db.updateUser()
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.
FIXME: expliquer
Vérification de l'état des index et des performances#
- 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