Je viens d’installer mongoDB sur Ubuntu 14.0.4 . J’ai essayé de démarrer Shell mais j’obtiens une erreur de connexion refusée.
me@medev:/etc/init.d$ mongo
MongoDB Shell version: 2.6.5
connecting to: test
2014-11-10T15:06:28.084-0500 warning: Failed to connect to 127.0.0.1:27017, reason: errno:111 Connection refused
2014-11-10T15:06:28.085-0500 Error: couldn't connect to server 127.0.0.1:27017 (127.0.0.1), connection attempt failed at src/mongo/Shell/mongo.js:146
exception: connect failed
J'ai donc décidé d'essayer de redémarrer le service, mais cela échoue aussi. Je reçois le message d'erreur suivant:
me@medev:/etc/init.d$ Sudo service mongodb restart
mongodb: unrecognized service
me@medev:/etc/init.d$
C’est ce que j’ai dans mon /var/log/mongodb/mongod.log - http://Pastebin.com/MrHt8tce
ce que j'ai essayé jusqu'à présent:
J'ai trouvé un autre post ici: ne peut pas commencer mongodb en tant que Sudo Qui a fait un commentaire sur la suppression du fichier de verrouillage mongo.
J'ai supprimé le fichier de verrouillage, puis j'ai réessayé ma commande, mais elle échoue toujours, comme vous pouvez le voir ci-dessous:
me@medev:/var/lib/mongodb$ Sudo rm mongod.lock
me@medev:/var/lib/mongodb$ ls
journal local.0 local.ns _tmp
me@medev:/var/lib/mongodb$ Sudo service mongodb start
mongodb: unrecognized service
Mais je peux le démarrer en utilisant /etc/init.d comme vous pouvez le voir ci-dessous:
me@medev:/var/lib/mongodb$ Sudo /etc/init.d/mongod start
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service mongod start
Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the start(8) utility, e.g. start mongod
mongod start/running, process 27469
me@medev:/var/lib/mongodb$ ls
journal local.0 local.ns mongod.lock
me@medev:/var/lib/mongodb$ mongo
MongoDB Shell version: 2.6.5
connecting to: test
> db
test
>
Toute idée sur la raison pour laquelle je ne peux pas le démarrer à l'aide de la commande de service serait la bienvenue. D'après ce que j'ai lu, je devrais utiliser le service Sudo mongodb
Essaye ça:
Écrivez mongodb
au lieu de mongod
Sudo service mongodb status
J'ai eu la même erreur un jour Vous devriez utiliser ceci:
1. Obtenez le statut de votre service mongo:
/etc/init.d/mongod status
ou
Sudo service mongod status
2.Si ce n'est pas commencé, réparez-le comme ceci:
Sudo rm /var/lib/mongodb/mongod.lock
mongod --repair
Sudo service mongodb start
Et vérifiez à nouveau si le service est redémarré (1)
Pour moi, la solution était de remplacer
service mongod start
avec
start mongod
Vous devez vous assurer que le fichier (ex. /Etc/init.d/mongodb) dispose des autorisations d’exécution.
chmod +x /etc/init.d/mongodb
Pour debian, à partir du référentiel 10gen, entre les versions 2.4.x et 2.6.x, ils ont renommé le script init /etc/init.d/mongodb en /etc/init.d/mongod et le fichier de configuration par défaut à partir de/etc/mongodb .conf à /etc/mongod.conf, ainsi que le PID et le verrouillage des fichiers de "mongodb" à "mongod" aussi. Cela a rendu la mise à niveau difficile, et je ne le vois pas mentionné dans leur documentation où que ce soit. Quoi qu'il en soit, la solution consiste à supprimer les anciennes versions de "mongodb":
update-rc.d -f mongodb remove
rm /etc/init.d/mongodb
rm /var/run/mongodb.pid
diff -ur /etc/mongodb.conf /etc/mongod.conf
Maintenant, regardez et voyez quels changements de configuration vous devez conserver, et mettez-les dans mongod.conf.
Ensuite:
rm /etc/mongodb.conf
Maintenant vous pouvez:
service mongod restart
Pour moi, rien ne m'a aidé, mais après consultation avec devops mate expirienced mate j'ai terminé avec solution
créer un fichier /lib/systemd/system/mongod.service
avec contenu
[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
alors les commandes start/stop devraient fonctionner
$ Sudo service mongod start
Pour référence - J'ai Ubuntu 14.04 LTS, MongoDB 3.2.9 installé à partir de
deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.2 multiverse
Ceci est une solution simple qui a fonctionné pour moi avec le même problème (je pense):
mv /var/lib/mongodb /var/lib/mongodb_backup
mkdir /var/lib/mongodb
chmod 700 /var/lib/mongodb
chown mongodb:daemon /var/lib/mongodb
systemctl restart mongodb or service mongod restart
Source originale - https://www.techrepublic.com/article/how-to-install-mongodb-community-edition-on-ubuntu-linux/
Si vous êtes sur Ubuntu 16.04 et faites face à une erreur de service non reconnue, ces instructions vous aideront à le résoudre: -
Sudo apt-key adv —keyserver hkp://keyserver.ubuntu.com:80 —recv EA312927
Sudo touch /etc/apt/sources.list.d/mongodb-org.list
Sudo gedit /etc/apt/sources.list.d/mongodb-org.list
deb http://repo.mongodb.org/apt/ubuntu precise/mongodb-org/3.6 multiverse
Pour 14.04: deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.6 multiverse
Pour 16.04: deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.6 multiverse
Assurez-vous de modifier le numéro de version avec la dernière version appropriée et enregistrez le fichier.
Installation Ouvrez une fenêtre de terminal et lancez la commande Sudo apt-get update && Sudo apt-get install -y mongodb-org
Laissez l'installation terminée.
Running MongoDB Pour démarrer la base de données, exécutez la commande Sudo service mongodb start
. Vous devriez maintenant pouvoir lancer la commande pour voir que MongoDB est en cours d'exécution: systemctl status mongodb
Ubuntu 16.04 solution Si vous utilisez Ubuntu 16.04, vous pouvez rencontrer un problème où vous voyez l'erreur mongodb: service non reconnu en raison du passage de upstart à systemd. Pour résoudre ce problème, vous devez suivre ces étapes.
Si vous avez ajouté le /etc/apt/sources.list.d/mongodb-org.list
, supprimez-le avec la commande Sudo rm /etc/apt/sources.list.d/mongodb-org.list
Mettre à jour apt avec la commande Sudo apt-get update
Installez la version officielle de MongoDB à partir des référentiels standard avec la commande Sudo apt-get install mongodb
afin que le service soit correctement configuré
Supprimez ce que vous venez d'installer avec la commande Sudo apt-get remove mongodb && Sudo apt-get autoremove
Suivez maintenant les étapes 1 à 5 ci-dessus pour installer MongoDB. cela devrait réinstaller la dernière version de MongoDB avec les services systemd déjà en place. Lorsque vous émettez la commande systemctl status mongodb
, vous devriez voir que le serveur est actif.
Je copie principalement ce qui est collé ci-dessus (avec quelques modifications mineures et corrections de fautes de frappe) - https://www.techrepublic.com/article/how-to-install-mongodb-community-edition-on-ubuntu-linux/
Vous pouvez utiliser la commande mongod
au lieu de mongodb
. Si vous rencontrez un problème avec dbpath dans Mongo, vous pouvez utiliser ma réponse dans le lien ci-dessous.
J'ai installé le serveur Mongo sur Debian Jessie en utilisant manual du site officiel .
Cela n'a pas commencé après la commande recommandée Sudo service mongod restart
avec le même error - mongodb: unrecognized service
.
Après avoir examiné le contenu du paquet installé, j'ai remarqué qu'il ne contenait que l'unité de service Systemd, mais pas de script d'initialisation SystemV:
# dpkg -L mongodb-org-server
/.
/usr
/usr/bin
/usr/bin/mongod
/usr/share
/usr/share/lintian
/usr/share/lintian/overrides
/usr/share/lintian/overrides/mongodb-org-server
/usr/share/doc
/usr/share/doc/mongodb-org-server
/usr/share/doc/mongodb-org-server/LICENSE-Community.txt
/usr/share/doc/mongodb-org-server/README
/usr/share/doc/mongodb-org-server/copyright
/usr/share/doc/mongodb-org-server/changelog.gz
/usr/share/doc/mongodb-org-server/GNU-AGPL-3.0.gz
/usr/share/doc/mongodb-org-server/THIRD-PARTY-NOTICES.gz
/usr/share/doc/mongodb-org-server/MPL-2.gz
/usr/share/man
/usr/share/man/man1
/usr/share/man/man1/mongod.1.gz
/etc
/etc/mongod.conf
/lib
/lib/systemd
/lib/systemd/system
/lib/systemd/system/mongod.service
Mais mon système fonctionnait sous SysV init:
# stat /proc/1/exe
File: '/proc/1/exe' -> '/sbin/init'
Donc, il y a 2 options maintenant:
systemctl start mongod
Je pense que vous avez peut-être installé la version de mongodb pour la mauvaise distribution système.
Découvrez comment installer mongodb pour Ubuntu et Debian:
http://docs.mongodb.org/manual/tutorial/install-mongodb-on-debian/http://docs.mongodb.org/manual/tutorial/install- mongodb -ubuntu/
J'ai eu un problème similaire, et ce qui s'est passé, c'est que j'installais les paquets Ubuntu dans Debian