Comment installer MongoDB sur CentOS 7

introduction

MongoDB est une base de données orientée document gratuite et à code source ouvert. Elle est classée dans une base de données NoSQL car elle ne repose pas sur une structure de base de données relationnelle traditionnelle. Au lieu de cela, il utilise des documents de type JSON avec des schémas dynamiques. Contrairement aux bases de données relationnelles, MongoDB ne nécessite pas de schéma prédéfini avant l’ajout de données à une base de données. Vous pouvez modifier le schéma à tout moment et aussi souvent que nécessaire sans avoir à configurer une nouvelle base de données avec un schéma mis à jour.

Ce didacticiel vous guide tout au long de l’installation de MongoDB Community Edition sur un serveur CentOS 7.

Conditions préalables

Avant de suivre ce didacticiel, assurez-vous que vous avez un utilisateur régulier, non root, avec les privilèges + sudo +. Pour en savoir plus sur la configuration d’un utilisateur avec ces privilèges, consultez notre guide, https://www.digitalocean.com/community/tutorials/how-to-create-a-sudo-user-on-centos-quickstart [ Comment créer un utilisateur Sudo sur CentOS].

Étape 1 - Ajout du référentiel MongoDB

Le paquetage + mongodb-org + n’existe pas dans les référentiels par défaut de CentOS. Cependant, MongoDB maintient un référentiel dédié. Ajoutons-le à notre serveur.

Avec l’éditeur + vi +, créez un fichier + .repo + pour + yum +, l’utilitaire de gestion de paquets pour CentOS:

sudo vi /etc/yum.repos.d/mongodb-org.repo

Ensuite, visitez la section https://docs.mongodb.com/manual/tutorial/install-mongodb-on-red-hat/#configure-the-package-management-system-yumstall sur Red Hat] de la documentation de MongoDB. et ajoutez les informations de référentiel de la dernière version stable au fichier:

/etc/yum.repos.d/mongodb-org.repo

[mongodb-org-]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org//x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-.asc

Enregistrez et fermez le fichier.

Avant de poursuivre, nous devons vérifier que le référentiel MongoDB existe dans l’utilitaire + yum +. La commande + repolist + affiche une liste des référentiels activés:

yum repolist
Output. . .
repo id                          repo name
base/7/x86_64                    CentOS-7 - Base
extras/7/x86_64                  CentOS-7 - Extras

updates/7/x86_64                 CentOS-7 - Updates
. . .

Avec le + MongoDB Repository + en place, poursuivons l’installation.

Étape 2 - Installation de MongoDB

Nous pouvons installer le paquetage + mongodb-org + à partir du référentiel tiers en utilisant l’utilitaire + yum +.

sudo yum install mongodb-org

Il y a deux invites + Est-ce ok [y / N]: +? Le premier permet l’installation des packages MongoDB et le second importe une clé GPG. L’éditeur de MongoDB signe son logiciel et + yum + utilise une clé pour confirmer l’intégrité des packages téléchargés. À chaque invite, tapez + Y + puis appuyez sur la touche + ENTER +.

Ensuite, démarrez le service MongoDB avec l’utilitaire + systemctl +:

sudo systemctl start mongod

Bien que nous ne les utilisions pas dans ce didacticiel, vous pouvez également modifier l’état du service MongoDB à l’aide des commandes + reload + et + stop +.

La commande + reload + demande au processus + mongod + de lire le fichier de configuration, + / etc / mongod.conf +, et applique toutes les modifications sans nécessiter de redémarrage.

sudo systemctl reload mongod

La commande + stop + arrête tous les processus en cours + mongod +.

sudo systemctl stop mongod

L’utilitaire + systemctl + n’a pas fourni de résultat après l’exécution de la commande + start +, mais nous pouvons vérifier que le service a démarré en affichant la fin du fichier + mongod.log + avec la commande + tail +:

sudo tail /var/log/mongodb/mongod.log
Output. . .

Une sortie * en attente de connexion * confirme que MongoDB a bien démarré et que nous pouvons accéder au serveur de base de données avec le shell MongoDB:

mongo

Pour apprendre à interagir avec MongoDB à partir du shell, vous pouvez consulter le résultat de la méthode + db.help () + qui fournit une liste de méthodes pour l’objet * db *.

db.help()
OutputDB methods:
   db.adminCommand(nameOrDocument) - switches to 'admin' db, and runs command [ just calls db.runCommand(...) ]
   db.auth(username, password)
   db.cloneDatabase(fromhost)
   db.commandHelp(name) returns the help for the command
   db.copyDatabase(fromdb, todb, fromhost)
   db.createCollection(name, { size : ..., capped : ..., max : ... } )
   db.createUser(userDocument)
   db.currentOp() displays currently executing operations in the db
   db.dropDatabase()
. . .

Laissez le processus + mongod s’exécutant en arrière-plan, mais quittez le shell avec la commande` + exit`:

exit
OutputBye

Étape 3 - Vérification du démarrage

Comme une application basée sur une base de données ne peut pas fonctionner sans base de données, nous allons nous assurer que le démon MongoDB, + mongod +, démarrera avec le système.

Utilisez l’utilitaire + systemctl + pour vérifier son statut de démarrage:

systemctl is-enabled mongod; echo $?

Une sortie de zéro confirme un démon activé, ce que nous voulons. Un, cependant, confirme qu’un démon désactivé ne démarrera pas.

Output. . .
enabled

Dans le cas d’un démon désactivé, utilisez l’utilitaire + systemctl + pour l’activer:

sudo systemctl enable mongod

Nous avons maintenant une instance en cours de MongoDB qui démarrera automatiquement après un redémarrage du système.

Étape 4 - Importer un exemple de base de données (facultatif)

Contrairement aux autres serveurs de base de données, MongoDB ne contient pas de données dans sa base de données + test +. Comme nous ne souhaitons pas expérimenter de nouveaux logiciels utilisant des données de production, nous téléchargerons un exemple de jeu de données à partir de «https://docs.mongodb.com/getting-started/shell/import-data/[Import Example Dataset]» section de la documentation «Mise en route avec MongoDB». Le document JSON contient un ensemble de restaurants que nous utiliserons pour apprendre à interagir avec MongoDB et éviter de nuire aux données sensibles.

Commencez par vous déplacer dans un répertoire accessible en écriture:

cd /tmp

Utilisez la commande + curl + et le lien de MongoDB pour télécharger le fichier JSON:

curl -LO https://raw.githubusercontent.com/mongodb/docs-assets/primer-dataset/primer-dataset.json

La commande + mongoimport + insérera les données dans la base de données * test *. L’indicateur + - db + définit la base de données à utiliser, tandis que l’indicateur + - collection + spécifie où seront stockées les informations dans la base de données, et l’indicateur + - file + indique à la commande le fichier à exécuter. action d’importation sur:

mongoimport --db test --collection restaurants --file /tmp/primer-dataset.json

La sortie confirme l’importation des données depuis le fichier + primer-dataset.json +:

Outputconnected to: localhost
imported 25359 documents

Avec le jeu de données exemple en place, nous allons exécuter une requête sur celui-ci.

Relancez le shell MongoDB:

mongo

Le shell sélectionne la base de données + test + par défaut, c’est là que nous avons importé nos données.

Interrogez la collection * restaurants * avec la méthode + find () + pour afficher la liste de tous les restaurants du jeu de données. Comme la collection contient plus de 25 000 entrées, utilisez la méthode optionnelle + limit () + pour réduire la sortie de la requête à un nombre spécifié. De plus, la méthode + pretty () + rend les informations plus lisibles par l’homme avec les nouvelles lignes et les indentations.

db.restaurants.find().limit( 1 ).pretty()
Output{
   "_id" : ObjectId("57e0443b46af7966d1c8fa68"),
   "address" : {
       "building" : "1007",
       "coord" : [
           -73.856077,
           40.848447
       ],
       "street" : "Morris Park Ave",
       "zipcode" : "10462"
   },
   "borough" : "Bronx",
   "cuisine" : "Bakery",
   "grades" : [
       {
           "date" : ISODate("2014-03-03T00:00:00Z"),
           "grade" : "A",
           "score" : 2
       },
       {
           "date" : ISODate("2013-09-11T00:00:00Z"),
           "grade" : "A",
           "score" : 6
       },
       {
           "date" : ISODate("2013-01-24T00:00:00Z"),
           "grade" : "A",
           "score" : 10
       },
       {
           "date" : ISODate("2011-11-23T00:00:00Z"),
           "grade" : "A",
           "score" : 9
       },
       {
           "date" : ISODate("2011-03-10T00:00:00Z"),
           "grade" : "B",
           "score" : 14
       }
   ],
   "name" : "Morris Park Bake Shop",
   "restaurant_id" : "30075445"
}

Vous pouvez continuer à utiliser l’exemple de jeu de données pour vous familiariser avec MongoDB ou le supprimer à l’aide de la méthode + db.restaurants.drop () +:

db.restaurants.drop()

Enfin, quittez le shell avec la commande + exit +:

exit
OutputBye

Conclusion

Dans ce didacticiel, nous avons expliqué comment ajouter un référentiel tiers à + ​​yum +, installer le serveur de base de données MongoDB, importer un exemple de jeu de données et exécuter une requête simple. Nous avons à peine effleuré la surface des capacités de MongoDB. Vous pouvez créer votre propre base de données avec plusieurs * collections *, les remplir avec de nombreux * documents * et commencer à créer une application robuste.