Aller au contenu

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).

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é.

Fenêtre de terminal
sudo apt update
sudo 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 update
sudo apt install -y mongodb-org

Le métapaquet mongodb-org installe le serveur (mongod), le shell (mongosh) et les outils de sauvegarde (mongodump, mongorestore, etc.).

Fenêtre de terminal
sudo systemctl enable --now mongod
sudo systemctl status mongod
mongod --version
Fenêtre de terminal
mongosh --eval 'db.runCommand({ ping: 1 })'
mongosh

Dans le shell :

db.version();
db.hello().ismaster;
Fenêtre de terminal
sudo apt-mark hold mongodb-org mongodb-org-database mongodb-org-server mongodb-mongosh mongodb-org-mongos mongodb-org-tools

Les mises à jour de version mineure (8.0.x) se font ensuite volontairement : sudo apt-mark unhold …, sudo apt upgrade, puis hold de nouveau.

É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
Fenêtre de terminal
sudo tail -n 50 /var/log/mongodb/mongod.log
sudo journalctl -u mongod -n 50 --no-pager

Par 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.

Contournement lorsque l’installation native n’est pas possible (voir Installer Docker sur Ubuntu) :

Fenêtre de terminal
docker run -d --name mongo \
-p 127.0.0.1:27017:27017 \
-v mongo-data:/data/db \
mongo:8.2

Se connecter ensuite depuis la machine : mongosh "mongodb://127.0.0.1:27017".

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 });
Fenêtre de terminal
sudo systemctl stop mongod
sudo apt purge 'mongodb-org*'
sudo rm /etc/apt/sources.list.d/mongodb-org-8.0.list /usr/share/keyrings/mongodb-server-8.0.gpg
sudo apt autoremove
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 »