Réponses:
C'est juste l'absence d'un fichier de service pour systemd. Pas besoin de revenir au démarrage comme Kartik l'a fait ou d'utiliser un référentiel différent de celui décrit dans https://docs.mongodb.org/manual/installation/ .
Créez un fichier /lib/systemd/system/mongodb.service
avec le contenu suivant:
[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target
[Service]
User=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongodb.conf
[Install]
WantedBy=multi-user.target
sudo service...
échouais en silence à cause des problèmes d'autorisations
/etc/mongod.conf
et non/etc/mongodb.conf
mongod
parce que c'est ce qu'ils utilisent sur leur site officiel. Il mongodb.conf
devrait en être ainsi mongod.conf
et le nom du fichier devrait être/lib/systemd/system/mongod.service
Cette erreur s'est produite en raison du problème avec le nouvel Ubuntu (15 et versions ultérieures).
Le système d'initialisation par défaut est systemd qui était Upstart précédemment. Vous devez donc installer Upstart, redémarrer votre système et voilà, vous pouvez maintenant exécuter le service mongodb.
sudo apt-get install upstart-sysv
sudo service mongod start
mongod start/running, process 3371
mongodb
J'ai utilisé le paquet Debian dans Ubuntu 15.10
echo "deb http://repo.mongodb.org/apt/debian wheezy/mongodb-org/3.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list
sudo apt-get update
sudo apt-get install -y mongodb-org
J'ai eu des problèmes similaires après la mise à niveau vers 15.10.
Il pourrait y avoir beaucoup de problèmes, mais en fonction de la cause de votre problème, vous pourrez peut-être exécuter votre mongodb via init.d:
sudo /etc/init.d/mongodb start
Cela a fonctionné pour moi, mais pas une solution à long terme, car vous devez l'exécuter après chaque redémarrage ou l'ajouter à vos tâches de démarrage. J'ai donc suivi ce qui suit:
1) création du fichier de service comme expliqué par 'sclausen'.
2) rechargez le service en exécutant:
sudo systemctl daemon-reload
3) couru sudo service mongodb start
4) La commande s'est exécutée sans sortie. J'ai donc testé en exécutant mongo
et obtenu une erreur de socket:
Error: connect ECONNREFUSED 127.0.0.1:27017
at Object.exports._errnoException (util.js:870:11)
at exports._exceptionWithHostPort (util.js:893:20)
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1062:14)
5) J'ai parcouru les journaux tail -n 50 /var/log/mongodb/
et découvert l'erreur sous-jacente:
2016-02-26T14:28:23.538+1100 E NETWORK [initandlisten] Failed to unlink socket file /tmp/mongodb-27017.sock errno:1 Operation not permitted
6) supprimé le fichier socket problématique: sudo rm /tmp/mongodb-27017.sock
comme suggéré sur ce fil: /programming/29813648/failed-to-unlink-socket-file-error-in-mongodb-3-0
7) a relancé le service: sudo service mongodb start
à ce moment-là, tout allait bien et Bob est retourné à sa position légitime d'oncle.
Dans mon cas, j'ai Ubuntu 16.04.1, j'installais MongoDB 3.2.11 et j'obtenais la même erreur. Après plusieurs nettoyages et tentatives, cela a finalement fonctionné en "activant" le service:
systemctl enable mongod.service
Ensuite, cela a juste fonctionné