{{tag> BROUILLON serveur réseau sgbd }}
----
====== MongoDB ======
MongoDB (de « humongous », énorme) est un système de gestion de bases de données libre et gratuit développé depuis octobre 2007 par 10gen.
Il fait partie des bases de données NoSQL (not only sql), est orienté document, sans schéma.
Il est flexible et peut fonctionner efficacement avec de grandes quantités de données.
Il gère des collections (équivalents des tables pour MySQL) de documents JSON-like stockés dans un format binaire (BSON).
===== Pré-requis =====
* Disposer des droits d'administrateur.
===== Installation =====
Deux types de paquets sont disponibles: le paquet fourni par la communauté ubuntu et le paquet fourni par la communauté mongodb. Le deuxième comporte la version plus récente.
Pour installer le paquet fourni par la communauté ubuntu, il vous suffit d'installer le paquet **[[apt://mongodb|mongodb]]**.
Instructions pour installer le paquet [[:tutoriel:comment_installer_un_paquet#paquet_present_dans_les_depots|ici]].
Pour installer le paquet "MongoDB Community Edition" fourni par la communauté mongodb, il vous suffit de suivre les instructions de la documentation MongoDB **[[https://www.mongodb.com/docs/manual/tutorial/install-mongodb-on-ubuntu/#install-mongodb-community-edition|ici]]**.
En résumé :
==== Importer la clé publique MongoDB ====
1. Depuis le Terminal, installer les outils "gnupg" et "curl" :
sudo apt-get install gnupg curl
2. Importer la clé publique MongoDB :
curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc | \
sudo gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg \
--dearmor
Cette commande inscrit la clé publique dans un fichier "/usr/share/keyrings/mongodb-server-7.0.gpg" .
Pour vérifier la liste des clés sur votre Système :
sudo apt-key list
Créer maintenant un fichier liste pour MongoDB sous /etc/apt/sources.list.d/mongodb-org-7.0.list.
Ex. : Pour Ubuntu 22.04 (Jammy)
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu $(lsb_release -sc)/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
OU
Se placer dans le dossier /etc/apt/sources.list.d puis commande
sudo touch mongodb-org-7.0.list
Dans ce fichier, écrire le code suivant (avec la commande echo) :
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list
==== Installer la dernière version stable de "MongoDB Community Edition" ====
sudo apt-get update
sudo apt-get install -y mongodb-org
Vous pouvez installer d'autres versions spécifiques de MongoDB (cf documentation).
Lancer le serveur mongodb :
sudo service mongod start
Pour vérifier si le serveur est bien actif :
sudo service mongod status
Si mongodb ne se lance pas, vous pouvez essayer ces commandes :
sudo rm /var/lib/mongodb/mongod.lock
mongod --repair
sudo service mongod start
mongo
===== Configuration =====
La configuration par défaut de mongodb suffit à la plupart des utilisations. Cette configuration est disponible dans le fichier ''/etc/mongodb.conf''. Deux points de configuration particuliers peuvent néanmoins être utiles à connaitre.
Ces opérations sont réservées aux utilisateurs avancés, de mauvaises manipulations pouvant compromettre le fonctionnement du système.
Si vous rencontrez le message d'erreur suivant : "MongoDB dbpath (\data\db\) does not exist" en lançant mongod, créez le répertoire avec vos droits utilisateur :
sudo killall -15 mongod
sudo mkdir -p /data/db/
sudo chown -R nom_utilisateur:nom_utilisateur /data/db
sudo mongod
==== Emplacement des fichiers de données ====
Par défaut, les fichiers de données sont stockés dans le répertoire ''/var/lib/mongodb''. Ces fichiers pouvant devenir volumineux, il est parfois nécessaire de les déplacer. Pour ce faire, il faut effectuer les opérations suivantes en super-utilisateur :
* Arrêter le service mongodb avec la commande ''service mongodb stop''
* Déplacer les fichiers du répertoire ''/var/lib/mongodb'' vers leur nouvel emplacement
* S'assurer que les permissions des fichiers sont correctes (notamment l'utilisateur propriétaire ''mongodb''), y compris sur le répertoire contenant
* Modifier la ligne ''dbpath=/var/lib/mongodb'' dans le fichier de configuration pour indiquer le nouvel emplacement
* Relancer le service mongodb avec la commande ''service mongodb start''
==== Accès à la base de données depuis le réseau ====
Cette opération peut compromettre la sécurité de votre système. Assurez-vous que vous savez ce que vous faites.
Par défaut, la connexion à mongodb n'est possible que localement. Pour rendre la connexion possible depuis une autre machine, il suffit de commenter la ligne ''bind_ip = 127.0.0.1'' dans le fichier de configuration. Il est aussi possible de modifier le port TCP utilisé (27017 par défaut) en décommentant la ligne ''port = 27017''. Assurez-vous que votre pare-feu ou votre routeur laisse passer le trafic sur le port concerné, le cas échéant.
===== Utilisation=====
L'utilisation Basique en shell s'effectue simplement grâce à la commande :
mongo
MongoDB shell version: 1.6.5
connecting to: test
Pour voir les bases disponible :
show dbs
Il est aussi possible d'utiliser une interface graphique, comme par exemple **[[apt>robomongo]]** ou sur le site officiel https://robomongo.org/download
===== Désinstallation =====
Pour supprimer cette application, il suffit de [[:tutoriel:comment_supprimer_un_paquet|supprimer son paquet]]. Selon la méthode choisie, le configuration globale de l'application est conservée ou supprimée. Les journaux du système, et les fichiers de préférence des utilisateurs dans leurs dossiers personnels sont toujours conservés.
===== Liens =====
* **(en)** [[http://www.mongodb.org/|Site officiel]]
* **(fr)** [[http://www.mongodb.org/display/DOCSFR/Home|Documentation en français]]
----
//Contributeurs principaux : pandark.//