Aller au contenu

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#

  • Commande db.createRole()
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.

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