MongoDB est une base de données NoSQL qui offre une base de données d'entreprise haute performance, haute disponibilité et à mise à l'échelle automatique. MongoDB est une base de données NoSQL, vous ne pouvez donc pas utiliser SQL (Structured Query Language) pour insérer et récupérer des données, et il ne stocke pas de données dans des tables comme MySQL ou Postgres. Les données sont stockées dans une structure "document" au format JSON (dans MongoDB appelé BSON). MongoDB a été introduit pour la première fois en 2009 et est actuellement développé par la société MongoDB Inc.
"MongoDB ne fournit que des packages pour les versions 64 bits LTS (support à long terme) d'Ubuntu. Par exemple, 12.04 LTS (précis), 14.04 LTS (fidèle), 16.04 LTS (xenial), etc. " site mongodb.
Prérequis
- Serveur Ubuntu 16.04 - 64 bits
- Privilèges root
Ce que nous allons faire dans ce didacticiel :
- Installer MongoDB
- Configurer MongoDB
- Conclusion
Installer MongoDB sur Ubuntu 16.04
Étape 1 - Importation de la clé publique
Les clés GPG du distributeur de logiciels sont requises par le gestionnaire de packages Ubuntu apt (Advanced Package Tool) pour garantir la cohérence et l'authenticité des packages. Exécutez cette commande pour importer les clés MongoDB sur votre serveur.
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
Étape 2 - Créer le fichier de liste source MongoDB
Créez un fichier de liste MongoDB dans /etc/apt/sources.list.d/ avec cette commande :
echo "deb http://repo.mongodb.org/apt/ubuntu "$(lsb_release -sc)"/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list
Étape 3 - Mettre à jour le référentiel
mettez à jour le dépôt avec la commande apt :
sudo apt-get update
Étape 4 - Installer MongoDB
Vous pouvez maintenant installer MongoDB en tapant cette commande :
sudo apt-get install -y mongodb-org
Nous devons créer un nouveau fichier de service systemd MongoDB dans le répertoire '/lib/systemd/system'. Accédez à ce répertoire et créez le nouveau fichier de service MongoDB "mongod.service" avec vim editor.
cd /lib/systemd/system/
vim mongod.service
Collez le script ci-dessous :
[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target
Documentation=https://docs.mongodb.org/manual
[Service]
User=mongodb
Group=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf
[Install]
WantedBy=multi-user.target
Enregistrez le fichier et quittez.
Maintenant, mettez à jour le service systemd avec la commande ci-dessous :
systemctl daemon-reload
Démarrez MongoDB et ajoutez-le en tant que service à démarrer au démarrage :
systemctl démarrer mongod
systemctl activer mongod
Vérifiez maintenant que MongoDB a été démarré sur le port 27017 avec la commande netstat.
netstat -plntu
Configurer le nom d'utilisateur et le mot de passe MongoDB
Lorsque les packages MongoDB sont installés, vous pouvez configurer le nom d'utilisateur et le mot de passe pour le serveur de base de données :
Étape 1 - Ouvrir mongo shell
Avant de configurer un nom d'utilisateur et un mot de passe pour MongoDB, vous devez ouvrir le shell MongoDB sur votre serveur. Vous pouvez vous connecter en tapant :
mongo
Si vous obtenez l'erreur Échec de l'initialisation globale :BadValue Non valide ou aucun paramètre régional utilisateur défini. Veuillez vous assurer que les variables d'environnement LANG et/ou LC_* sont définies correctement, essayez la commande :
export LC_ALL=C
mongo
Étape 2 - Passer à l'administrateur de la base de données
Une fois que vous êtes dans le shell MongoDB, passez à la base de données nommée admin :
use admin
Étape 3 - Créer l'utilisateur root
Créez l'utilisateur root avec cette commande :
db.createUser({user:"admin", pwd:"admin123", roles:[{role:"root", db:"admin"}]})
Description : Créez l'utilisateur admin avec le mot de passe admin123 et ayez l'autorisation/le rôle en tant que root et la base de données est admin .
Tapez maintenant exit pour quitter le shell MongoDB.
Étape 4 - Activer l'authentification mongodb
Modifiez le fichier de service mongodb "/lib/systemd/system/mongod.service" avec votre éditeur.
vim /lib/systemd/system/mongod.service
Sur le 'ExecStart ' ligne 9, ajoutez la nouvelle option '--auth '.
ExecStart=/usr/bin/mongod --quiet --auth --config /etc/mongod.conf
Enregistrez le fichier de service et quittez vim.
Rechargez le service systemd :
systemd daemon-reload
Étape 5 - Redémarrez MongoDB et essayez de vous connecter
Maintenant, redémarrez MongoDB et connectez-vous avec l'utilisateur créé.
sudo service mongod restart
et connectez-vous au shell MongoDB avec cette commande :
mongo -u admin -p admin123 --authenticationDatabase admin
et vous verrez le résultat comme ceci :
Conclusion
Une base de données NoSQL bien connue qui offre des performances élevées, une haute disponibilité et une mise à l'échelle automatique est MongoDB . Il est différent des SGBDR tels que MySQL, PostgreSQL et SQLite car il n'utilise pas SQL pour définir et récupérer des données. MongoDB stocke les données dans `documents` appelé BSON (représentation binaire de JSON avec des types d'informations supplémentaires). MongoDB n'est disponible que pour 64 bits Prise en charge à long terme de la version Ubuntu.