Installation et configuration de Linux MongoDB

Table des matières

Présentation de MongoDB

Installation et déploiement de MongoDb

MongoDB définit le mot de passe

Commandes et instructions d'opération MongoDB

Description du fichier de configuration

Opération de sauvegarde

Opération de restauration

Application de scénario pratique MongoDB



Présentation de MongoDB


MongoDB est un système de gestion de bases de données non relationnelles qui utilise un modèle de document pour stocker les données. Les documents dans MongoDB sont similaires aux objets JSON et peuvent contenir des paires clé-valeur et des documents imbriqués. MongoDB fournit un langage de requête puissant, un cadre d'agrégation, des index et des calculs qui s'exécutent directement sur le magasin de données.

MongoDB est largement utilisé dans de nombreux domaines, notamment dans les applications Web et les domaines du Big Data. Il est hautement évolutif et flexible et peut gérer une variété de types de données. De plus, MongoDB fournit une gamme d'outils et de bibliothèques pour faciliter l'utilisation des développeurs dans leurs applications.

MongoDB peut stocker des données importantes du système de gestion de contenu Web, telles que le contenu des pages et des articles, les balises, etc., ainsi que des données relatives aux utilisateurs.

Installation et déploiement de MongoDb


Voici les étapes détaillées pour installer et déployer MongoDB sur CentOS 7 :

1. Ajoutez la bibliothèque officielle de MongoDB.

Exécutez la commande suivante pour ajouter le référentiel officiel de MongoDB :

```

sudo vim /etc/yum.repos.d/mongodb-org-4.4.repo

```

Ajoutez le contenu suivant au fichier :

```

[mongodb-org-4.4]

nom = Dépôt MongoDB

baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.4/x86_64/

gpgcheck=1

activé = 1

gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc

```

Sauvegarder et quitter.

2. Installez MongoDB.

Exécutez la commande suivante pour installer MongoDB :

```

sudo miam install mongodb-org -y

```

3. Configurez MongoDB.

Ouvrez le fichier de configuration MongoDB :

```

sudo vim /etc/mongod.conf

```

Recherchez et modifiez le contenu suivant dans le fichier :

- `bindIp` : L'adresse IP liée. La valeur par défaut est "127.0.0.1", qui est un accès local. Si un accès à distance est requis, il doit être remplacé par "0.0.0.0".

- `port` : numéro de port. La valeur par défaut est « 27017 », qui peut être modifiée en fonction des besoins réels.

Sauvegarder et quitter.

4. Démarrez MongoDB.

Exécutez la commande suivante pour démarrer MongoDB :

```

sudo systemctl démarrer mongod

```

5. Configurez MongoDB pour qu'il serve le système.

Exécutez la commande suivante pour définir MongoDB en tant que service système :

```

sudo systemctl activer mongod

```

Vous pouvez vérifier l'état du service à l'aide de la commande suivante :

```

sudo systemctl statut mongod

```

6. Connectez-vous à MongoDB.

Connectez-vous à MongoDB à l'aide de la commande suivante :

```

mongo

```

Vous pouvez vérifier la version de MongoDB à l'aide de la commande suivante :

```

db.version()

```

Si MongoDB est installé avec succès, le numéro de version de MongoDB doit être affiché.

Voici les étapes détaillées pour l'installation et le déploiement de MongoDB sur CentOS 7.

MongoDB définit le mot de passe


Après avoir installé MongoDB, il n'y a pas de mot de passe par défaut. Vous pouvez vous connecter directement à MongoDB pour commencer à l'utiliser. Cependant, dans un environnement de production, il est fortement recommandé de configurer les paramètres de sécurité de MongoDB, comme l'activation de l'authentification, etc.

Si vous devez créer un compte administrateur et définir un mot de passe pour celui-ci, procédez comme suit :

1. Connectez-vous à MongoDB à l'aide du shell mongo.

2. Entrez dans la base de données admin :

```

utiliser l'administrateur

```

3. Créez un compte administrateur :

```

db.createUser({ utilisateur : "admin", mot de passe : "votre mot de passe", rôles : [ { rôle : "userAdminAnyDatabase", db : "admin" } ] })

(Où « votre mot de passe » est le mot de passe que vous souhaitez définir.)

[Il s'agit de créer un utilisateur nommé « admin » dans la base de données MongoDB, le mot de passe de l'utilisateur est « votre mot de passe » (le mot de passe peut être modifié par vous-même) et d'accorder à l'utilisateur l'autorisation d'effectuer des opérations de gestion des utilisateurs sur toutes les bases de données. Plus précisément, l'utilisateur s'est vu attribuer le rôle « userAdminAnyDatabase » dans la base de données « admin », qui lui permet de créer, modifier et supprimer des utilisateurs sur n'importe quelle base de données.

```

[Les informations signalées sont qu'il s'agit d'une commande de base de données MongoDB, indiquant qu'un utilisateur nommé « admin » a été ajouté avec succès et que cet utilisateur a le pouvoir d'effectuer des opérations de gestion des utilisateurs sur n'importe quelle base de données. Plus précisément, cet utilisateur peut créer, modifier et supprimer d'autres utilisateurs, ainsi qu'accorder et révoquer des autorisations à d'autres utilisateurs.

4. Quittez le shell mongo et redémarrez le processus mongod :

```

sudo systemctl arrêter mongod

sudo systemctl démarrer mongod

```

5. Utilisez le shell mongo pour vous reconnecter à MongoDB et utilisez la commande suivante pour vérifier la connexion :

```

mongo -u admin -p votre mot de passe --authenticationDatabase admin

```

[Il s'agit de la commande pour se connecter à la base de données MongoDB, où :

- `-u admin` signifie utiliser l'utilisateur avec le nom d'utilisateur "admin" pour se connecter ;
- `-p yourpassword` signifie utiliser l'utilisateur avec le mot de passe "votre mot de passe" pour se connecter ;
- `--authenticationDatabase admin` signifie le la base de données d'authentification est "admin" ".

Cette commande vous demandera de saisir un mot de passe. Après avoir entré le mot de passe correct, vous pourrez vous connecter à la base de données MongoDB. 】 

Voici les étapes ci-dessus pour créer et configurer un compte administrateur dans MongoDB. Faites attention à la sécurité et à la complexité du mot de passe. Si vous ne configurez pas de compte administrateur, MongoDB n'a pas de mot de passe par défaut.

Commandes et instructions d'opération MongoDB


Voici les opérations de commande et les instructions courantes pour MongoDB :

1. afficher la base de données

Affiche une liste de toutes les bases de données.

2. utilisez <nom de base de données>

Sélectionnez la base de données à utiliser. Si la base de données n'existe pas, une nouvelle base de données est créée.

3. db.<collection>.find()

Rechercher des documents dans une collection spécifiée, par exemple :

```

db.users.find()

```

[Vous devez d'abord créer le document avant de pouvoir le retrouver. Complétez d'abord le point 4.]

4. db.<collection>.insertOne()

Insérez un nouveau document dans la collection spécifiée, par exemple :

```

db.users.insertOne( { nom : "John", âge : 30 ans, ville : "New York" } )

```

5. db.<collection>.updateOne()

Mettez à jour un document dans la collection spécifiée, par exemple :

```

db.users.updateOne(

   { nom : "Jean" },

   { $set : { ville : "San Francisco" } }

)

```

[Les informations de retour indiquent : Il s'agit du résultat renvoyé d'une opération de base de données MongoDB, indiquant qu'un document a été mis à jour avec succès, où :

- `acknowledged` indique si l'opération est confirmée, ici true indique une confirmation.
- `matchedCount` indique le nombre de documents qui répondent aux conditions de mise à jour. Ici, 1 indique qu'un document a été mis à jour.
- `modifiedCount` indique le nombre de documents réellement modifiés, où 1 indique qu'un document a été modifié avec succès.

6. db.<collection>.deleteOne()

Supprimez un document dans la collection spécifiée, par exemple :

```

db.users.deleteOne( { nom : "John" } )

```

[Les informations de retour indiquent : Il s'agit du résultat renvoyé d'une opération de base de données MongoDB. Parmi eux, "acknowledged" indique si l'opération est confirmée, si vrai, cela indique que l'opération est confirmée ; "deletedCount" indique le nombre de documents supprimés. Ce résultat de retour indique donc qu'un document a été supprimé avec succès.

7. db.<collection>.count()

Renvoie le nombre de documents dans la collection spécifiée.

8. db.<collection>.drop()

 [Les informations de retour vraies indiquent une suppression réussie]

Supprimez la collection spécifiée.

9. db.createUser()

Créez un nouvel utilisateur de base de données.

Par exemple, si vous souhaitez créer un utilisateur avec un nom d'utilisateur « testuser », un mot de passe « testpassword », un rôle « readWrite » et une base de données « testdb », vous pouvez utiliser la commande suivante :

```

db.createUser( { utilisateur : "testuser", mot de passe : "testpassword", rôles : [ { rôle : "readWrite", db : "testdb" } ] } )

```

Notez que `db.createUser()` ne peut être exécuté qu'avec les privilèges d'administrateur. Si vous ne disposez pas de droits d'administrateur, vous devez d'abord vous connecter à MongoDB avec un compte administrateur, puis exécuter `db.createUser()`.

10. db.dropDatabase()

Supprimez la base de données actuellement utilisée.

1. Ouvrez le shell MongoDB et connectez-vous à la base de données à supprimer.

2. Entrez la commande `use <database_name>` dans le shell pour basculer vers la base de données à supprimer.

3. Entrez la commande `db.dropDatabase()` pour supprimer la base de données actuellement connectée.

Remarque : Cette commande supprimera définitivement la base de données et toutes ses données, utilisez-la donc avec prudence.

11. db.stats()

Obtenez des informations sur l'état de la base de données actuellement utilisée.

Les opérations de commande et les instructions ci-dessus sont courantes pour MongoDB, qui peuvent répondre aux besoins de la plupart des travaux quotidiens.

Description du fichier de configuration


Le fichier de configuration MongoDB est un fichier texte utilisé pour spécifier les informations de configuration du runtime MongoDB. Le démarrage de MongoDB à l'aide d'un fichier de configuration peut faciliter la gestion et la configuration de MongoDB.

Le fichier de configuration de MongoDB doit être spécifié au démarrage, généralement à l'aide de la commande `mongod --config`.

Voici les paramètres courants des fichiers de configuration MongoDB et leurs descriptions :

- bindIp : L'adresse IP liée. La valeur par défaut est `0.0.0.0`, ce qui signifie que toutes les adresses IP peuvent être connectées. L'accès à MongoDB peut être restreint en spécifiant une adresse IP spécifique ou plusieurs adresses IP.

- port : Le port sur lequel MongoDB écoute. Le numéro de port par défaut est 27017.

- dbpath : Le chemin du dossier utilisé par la base de données MongoDB. Le chemin par défaut est `/data/db`.

- logpath : Le chemin d'accès au fichier journal MongoDB.

- logappend : si défini sur true, les fichiers journaux de MongoDB utilisent le mode ajout.

- quiet : si défini sur true, MongoDB ne génère aucune information de journal.

- pidfilepath : chemin du fichier d'ID de processus MongoDB.

- maxConns : Le nombre maximum de connexions autorisées par MongoDB, la valeur par défaut est « 20000 ».

- maxIncomingConnections : Le nombre maximum de connexions que MongoDB permet d'ouvrir en même temps. La valeur par défaut est `65536`.

- stockage : moteur de stockage MongoDB, la valeur par défaut est `wiredTiger`.

Un exemple de commande pour démarrer MongoDB à l'aide d'un fichier de configuration est le suivant :

```

mongod --config /etc/mongod.conf

```

Ce qui précède sont les paramètres courants et les descriptions des fichiers de configuration MongoDB. En pratique, les valeurs des paramètres doivent être ajustées en fonction des besoins spécifiques et des conditions matérielles pour obtenir une efficacité de performance optimale.

Opération de sauvegarde


MongoDB propose plusieurs méthodes de sauvegarde, notamment la sauvegarde à chaud et la sauvegarde à froid.

[Lorsque vous utilisez une sauvegarde à froid et à chaud, essayez de ne pas les utiliser en même temps]

1. Sauvegarde à chaud

La sauvegarde à chaud est un moyen de sauvegarder MongoDB pendant son exécution. Les étapes spécifiques sont les suivantes :

(1) Utilisez la commande mongodump pour exporter les données de sauvegarde MongoDB. La commande suivante exporte les données de sauvegarde vers le répertoire `/data/backup` :

```

mongodump --out /données/sauvegarde

```

(2) Si vous devez compresser les données de sauvegarde exportées, vous pouvez utiliser la commande suivante :

```

tar -czvf sauvegarde.tar.gz /data/backup

```

2. Sauvegarde à froid

La sauvegarde à froid est un moyen de sauvegarder MongoDB lorsqu'il est dans un nouvel état de démarrage. Les étapes spécifiques sont les suivantes :

(1) Utilisez la commande mongodump de MongoDB pour exporter les données de sauvegarde de MongoDB. La commande suivante exporte les données de sauvegarde vers le répertoire `/data/backup` :

```

mongodump --out /données/sauvegarde

```

(2) Arrêtez le service MongoDB :

```

sudo systemctl arrêter mongod

```

(3) Utilisez la commande tar pour compresser les données de sauvegarde de l'entonnoir dans un fichier :

```

tar -czvf sauvegarde.tar.gz /data/backup

```

 Vérifier

 vim ouvre backup.tar.gz

(4) Démarrez le service MongoDB :

```

sudo systemctl démarrer mongod

```

La sauvegarde est une partie importante de la gestion de MongoDB. La sauvegarde régulière de la base de données MongoDB est l'un des moyens importants pour garantir la sécurité des données. Pour les systèmes de production, une solution de sauvegarde automatisée est recommandée.

Opération de restauration


MongoDB utilise la commande mongorestore pour restaurer les données de sauvegarde sur MongoDB. Voici les étapes pour restaurer les données de sauvegarde MongoDB :

(1) Décompressez le fichier de sauvegarde

Tout d'abord, vous devez décompresser le fichier de sauvegarde MongoDB. En supposant que le fichier de sauvegarde « backup.tar.gz » soit décompressé dans le répertoire « /data/backup », utilisez la commande suivante pour décompresser le fichier de sauvegarde :

```

tar -xzvf sauvegarde.tar.gz -C /data/backup

```

(2) Arrêtez le service MongoDB

Lors de la restauration des données de sauvegarde, le service MongoDB doit être arrêté pour éviter les surprises. Arrêtez le service MongoDB à l'aide de la commande suivante :

```

sudo systemctl arrêter mongod

```

(3) Utilisez la commande mongorestore pour restaurer les données de sauvegarde

Utilisez la commande mongorestore pour restaurer les données de sauvegarde sur MongoDB. La commande suivante restaure les données de sauvegarde sur MongoDB :

```

mongorestore /données/sauvegarde

```

Cette commande restaure les données de sauvegarde dans la collection et la base de données d'origine. Vous pouvez également restaurer les données de sauvegarde dans une nouvelle base de données en spécifiant le paramètre `--db`.

(4) Redémarrez le service MongoDB

Après avoir restauré les données de sauvegarde, redémarrez le service MongoDB :

```

sudo systemctl démarrer mongod

```

Les étapes ci-dessus sont des étapes simples pour restaurer les données de sauvegarde MongoDB. En pratique, la prudence est de mise lors de la sauvegarde et de la restauration des données afin de garantir l'intégrité et la sécurité des données.

Application de scénario pratique MongoDB


Vous souhaitez créer une boutique de vente au détail en ligne, qui doit traiter les données des membres, les données de commande, les données de produits, etc. Pour enregistrer et gérer ces données, vous pouvez utiliser MongoDB.

1. Concevoir un schéma de données

Pour les données d'une boutique de vente au détail en ligne, vous pouvez concevoir trois collections MongoDB :

- Collecte d'informations sur les membres (Membres) : Cette collection contient des informations de base sur les membres, telles que le nom, l'e-mail, l'adresse, l'historique des achats, etc.

- Collecte d'informations sur les commandes (Commandes) : Cette collection contient des informations sur toutes les commandes, y compris le numéro de commande, le nom du produit, le prix unitaire, la quantité, les frais d'expédition, etc.

- Collecte d'informations sur les produits (Produits) : Cette collection contient des informations sur tous les produits vendus, telles que le nom, la description, le prix, l'inventaire, etc.

Vous pouvez utiliser le format de document de MongoDB pour stocker les données dans chaque collection. Par exemple, pour une collecte d'informations sur les membres, vous pouvez utiliser le format de document suivant :

```

{

   _id : ObjectId("5f096745c83ab13f9d887137"),

   nom : « John Smith »,

   email : "[email protected]",

   adresse : "123 Main St, Anytown USA",

   historique d'achat: [

      {

         article : "Produit A",

         date : ISODate("2022-01-01T10:00:00Z"),

         prix : 99,99

      },

      {

         article : "Produit B",

         date : ISODate("2022-01-05T14:30:00Z"),

         prix : 49,99

      }

   ]

}

```

Pour les collectes d’informations sur les commandes et les collectes d’informations sur les produits, vous pouvez utiliser des formats de document similaires pour stocker les données.

2. Insérer des données

Avant de commencer à gérer votre boutique de vente au détail en ligne, vous devez insérer des données de test dans MongoDB. Vous pouvez utiliser la commande insertMany de MongoDB pour insérer des ensembles de données par lots :

mongo shell Connectez-vous à mongdb et tapez la commande suivante dans la ligne de commande

```

db.members.insertMany([

   {

      nom : « John Smith »,

      email : "[email protected]",

      adresse : "123 Main St, Anytown USA",

      historique d'achat: [

         {

            article : "Produit A",

            date : ISODate("2022-01-01T10:00:00Z"),

            prix : 99,99

         },

         {

            article : "Produit B",

            date : ISODate("2022-01-05T14:30:00Z"),

            prix : 49,99

         }

      ]

   },

   {

      nom: "Jane Doe",

      email : "[email protected]",

      adresse : "456 Oak St, Another Town USA",

      historique d'achat: [

         {

            article : "Produit C",

            date : ISODate("2022-01-10T09:45:00Z"),

            prix : 149,99

         },

         {

            article : "Produit A",

            date : ISODate("2022-01-15T11:30:00Z"),

            prix : 99,99

         }

      ]

   }

]);

db.orders.insertMany([

   {

      numéro_de commande : "1001",

      nom_produit : "Produit A",

      prix : 99,99,

      quantité: 2,

      frais de port : 5,99,

      date_de-commande : ISODate("2022-01-01T10:00:00Z")

   },

   {

      numéro_de commande : "1002",

      nom_produit : "Produit B",

      prix : 49,99,

      quantité: 3,

      frais de port : 7,99,

      date_de-commande : ISODate("2022-01-05T14:30:00Z")

   }

]);

db.products.insertMany([

   {

      nom : "Produit A",

      description : "Un super produit !",

      prix : 99,99,

      stock : 100

   },

   {

      nom : « Produit B »,

      description : "Un autre excellent produit !",

      prix : 49,99,

      stock : 50

   },

   {

      nom : "Produit C",

      description : "Le meilleur produit de tous !",

      prix : 149,99,

      stock : 25

   }

]);

```

 

3. Interroger les données

Supposons que vous souhaitiez afficher l'historique des achats d'un certain membre dans votre boutique de vente au détail en ligne, vous pouvez utiliser la requête suivante pour récupérer les données :

Utilisez la commande pour afficher

```

db.members.find({ nom : "John Smith"})

 

Je suppose que tu aimes

Origine blog.csdn.net/2302_77750172/article/details/131185161
conseillé
Classement