MongoDB : installation sur Ubuntu
MongoDB est une base de données orientée documents (JSON). Ce guide l’installe sur Ubuntu et se limite à l’usage en ligne de commande. Les exemples utilisent des noms génériques (boutique, app).
Versions
Section intitulée « Versions »| Version | Statut | Remarque |
|---|---|---|
| MongoDB 8.0 | Version majeure avec support à long terme | Utilisée dans ce guide (paquets disponibles pour Ubuntu 24.04) |
| MongoDB 9.0 | Version majeure actuelle | Disponible pour Ubuntu 24.04 ; la clé de signature du dépôt et les commandes exactes sont sur la page officielle |
| MongoDB 8.2 | Version intermédiaire (« rapide ») | Pas de paquet apt pour Ubuntu 26.04 ; réservée aux essais |
Les licences : MongoDB Community Edition est sous licence SSPL (source disponible, pas une licence libre au sens d’Open Source Initiative) : lire ses conditions pour un usage de service hébergé.
Installer MongoDB 8.0 sur Ubuntu 24.04
Section intitulée « Installer MongoDB 8.0 sur Ubuntu 24.04 »sudo apt updatesudo apt install -y gnupg curl
curl -fsSL https://www.mongodb.org/static/pgp/server-8.0.asc | sudo gpg -o /usr/share/keyrings/mongodb-server-8.0.gpg --dearmor
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/ubuntu noble/mongodb-org/8.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list
sudo apt updatesudo apt install -y mongodb-orgLe métapaquet mongodb-org installe le serveur (mongod), le shell (mongosh) et les outils de sauvegarde (mongodump, mongorestore, etc.).
Démarrer le service
Section intitulée « Démarrer le service »sudo systemctl enable --now mongodsudo systemctl status mongodmongod --versionVérifier avec mongosh
Section intitulée « Vérifier avec mongosh »mongosh --eval 'db.runCommand({ ping: 1 })'mongoshDans le shell :
db.version();db.hello().ismaster;Éviter les mises à jour majeures involontaires
Section intitulée « Éviter les mises à jour majeures involontaires »sudo apt-mark hold mongodb-org mongodb-org-database mongodb-org-server mongodb-mongosh mongodb-org-mongos mongodb-org-toolsLes mises à jour de version mineure (8.0.x) se font ensuite volontairement : sudo apt-mark unhold …, sudo apt upgrade, puis hold de nouveau.
Fichiers et emplacements
Section intitulée « Fichiers et emplacements »| Élément | Emplacement |
|---|---|
| Configuration | /etc/mongod.conf |
| Données | /var/lib/mongodb |
| Journal | /var/log/mongodb/mongod.log |
| Service | mongod.service (utilisateur mongodb) |
| Port | 27017 |
sudo tail -n 50 /var/log/mongodb/mongod.logsudo journalctl -u mongod -n 50 --no-pagerPar défaut, MongoDB n’écoute que sur 127.0.0.1 (net.bindIp) et l’authentification est désactivée : toute personne qui accède à la machine peut lire et modifier les données. Activer l’authentification avant de mettre la base en service : voir Utilisateurs et droits.
Ubuntu 26.04 : exécuter MongoDB avec Docker
Section intitulée « Ubuntu 26.04 : exécuter MongoDB avec Docker »Contournement lorsque l’installation native n’est pas possible (voir Installer Docker sur Ubuntu) :
docker run -d --name mongo \ -p 127.0.0.1:27017:27017 \ -v mongo-data:/data/db \ mongo:8.2Se connecter ensuite depuis la machine : mongosh "mongodb://127.0.0.1:27017".
Mise à jour majeure
Section intitulée « Mise à jour majeure »Une mise à jour majeure (8.0 vers 9.0) suit la procédure officielle : sauvegarder, mettre à jour une version à la fois, puis valider la compatibilité des fonctionnalités :
db.adminCommand({ getParameter: 1, featureCompatibilityVersion: 1 });// après la mise à jour du serveur, si tout fonctionne :db.adminCommand({ setFeatureCompatibilityVersion: '9.0', confirm: true });Désinstallation
Section intitulée « Désinstallation »sudo systemctl stop mongodsudo apt purge 'mongodb-org*'sudo rm /etc/apt/sources.list.d/mongodb-org-8.0.list /usr/share/keyrings/mongodb-server-8.0.gpgsudo apt autoremoveDépannage
Section intitulée « Dépannage »| Symptôme | Piste |
|---|---|
mongod.service ne démarre pas |
sudo journalctl -u mongod -n 50, puis le journal /var/log/mongodb/mongod.log |
| « Linux kernel versions 6.19 and newer has a known incompatibility » | Noyau trop récent pour cette version de MongoDB (voir le bloc en tête de page) |
E: Unable to locate package mongodb-org |
Dépôt non ajouté, ou nom de version d’Ubuntu absent du dépôt (noble pour 24.04) |
Failed to unlink socket file /tmp/mongodb-27017.sock |
Fichier de socket appartenant à un autre utilisateur : le supprimer (sudo rm /tmp/mongodb-27017.sock) puis redémarrer |
Permission denied sur /var/lib/mongodb |
sudo chown -R mongodb:mongodb /var/lib/mongodb /var/log/mongodb |
Connection refused avec mongosh |
Service arrêté, ou mauvais port |
Ubuntu 24.04 et 26.04 : différences à connaître
Section intitulée « Ubuntu 24.04 et 26.04 : différences à connaître »Pour aller plus loin
Section intitulée « Pour aller plus loin »- Documentation officielle : mongodb.com/docs/manual
- Suite : Console : mongosh