J'ai installé mongodb et je suis capable de l'exécuter, de l'utiliser, de faire des choses simples en lecture/écriture dans la base de données. Maintenant, j'essaie de configurer mon Mac pour exécuter Mongod en tant que service.
Je reçois "Commande introuvable" en réponse à:
init mongod start
En réponse à:
~: service mongod start
service: This command still works, but it is deprecated. Please use launchctl(8) instead.
service: failed to start the 'mongod' service
Et si j'essaye:
~: launchctl start mongod
launchctl start error: No such process
Alors évidemment, je gaffe un peu. La prochaine étape semble être de taper des caractères aléatoires jusqu'à ce que quelque chose fonctionne. La commande qui fonctionne est la suivante: mongod --quiet &
Je ne suis pas sûr, c'est peut-être ainsi que vous êtes censé le faire? Peut-être que je devrais juste enlever le 'mode silencieux' et ajouter > /logs/mongo.log
à la fin de la ligne de commande?
Je construis un environnement de développement sur un Mac avec l'intention de faire la même chose sur un serveur Linux. Je ne suis tout simplement pas sûr des commandes Bash. Toutes les autres recherches que je fais pour essayer de trouver la réponse me donnent des conseils pour les machines Windows.
Peut-être que quelqu'un connaît la version linux des commandes?
Merci beaucoup
Avec les versions récentes de mongodb community edition, ceci est simple.
Lorsque vous installez via brew, il vous dit quoi faire exactement. Il n'est pas nécessaire de créer un nouveau fichier de contrôle de lancement.
$ brew install mongodb
==> Downloading https://homebrew.bintray.com/bottles/mongodb-3.0.6.yosemite.bottle.tar.gz ### 100.0%
==> Pouring mongodb-3.0.6.yosemite.bottle.tar.gz
==> Caveats
To have launchd start mongodb at login:
ln -sfv /usr/local/opt/mongodb/*.plist ~/Library/LaunchAgents
Then to load mongodb now:
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist
Or, if you don't want/need launchctl, you can just run:
mongod --config /usr/local/etc/mongod.conf
==> Summary
???? /usr/local/Cellar/mongodb/3.0.6: 17 files, 159M
Edit: vous devriez maintenant utiliser brew services start mongodb
, comme dans la réponse de Gergo ...
Lorsque vous installez/mettez à niveau mongodb, brasser vous dira quoi faire:
Pour que launchd démarre mongodb à la connexion:
ln -sfv /usr/local/opt/mongodb/*.plist ~/Library/LaunchAgents
Ensuite, pour charger mongodb maintenant:
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist
Ou, si vous ne voulez pas/n'avez pas besoin de launchctl, vous pouvez simplement exécuter:
mongod
Ça fonctionne parfaitement.
Homebrew's services
tap intègre des formules avec le gestionnaire launchctl
. L'ajouter est facile:
brew tap homebrew/services
Vous pouvez ensuite lancer MongoDB avec cette commande (cela démarrera également mongodb au démarrage):
brew services start mongodb
Vous pouvez également utiliser stop
ou restart
:
brew services stop mongodb
brew services restart mongodb
Si vous avez envie d'avoir un simple interface graphique pour résoudre ce problème (comme je le fais), je peux alors vous recommander le panneau de préfixe mongodb. Description: http://blog.mongodb.org/post/28925264384/macosx-preferences-pane-for-mongodb
Sur github: https://github.com/remysaissy/mongodb-macosx-prefspane
Je viens d'installer MongoDB via Homebrew. À la fin de la console d'installation, vous pouvez voir une sortie comme suit:
Pour démarrer mongodb:
brew services start mongodb
Ou, si vous ne voulez pas/n'avez pas besoin d'un service en arrière-plan, vous pouvez simplement exécuter:
mongod --config /usr/local/etc/mongod.conf
Ainsi, les services de brassage commencent mongodb , ont réussi à exécuter MongoDB en tant que service pour moi.
J'ai un peu cherché du côté Mac. Vous voudrez peut-être utiliser le programme d’installation ici car il semble que toute la configuration soit automatiquement lancée sous Mac OS. Le seul inconvénient est qu'il semble utiliser une version assez ancienne de Mongo.
Ce lien ici explique également la configuration permettant à mongo de se lancer automatiquement en tant que service en arrière-plan sur le Mac.
mongod
ne fonctionnait pas pour démarrer le démon pour moi, mais après avoir exécuté ce qui suit, cela a commencé à fonctionner:
'mongod --fork --logpath /var/log/mongodb.log'
(à partir d'ici: https://docs.mongodb.com/manual/tutorial/manage-mongodb-processes/ )
mongod --dbpath [path_to_data_directory]
Sur macOS 10.13.6 avec MongoDB 4.0
Je n'ai pas pu me connecter à localhost depuis le shell mongo
J'ai commencé MongoDB avec:
mongod --config /usr/local/etc/mongod.conf
J'ai trouvé que le 'mongod.conf' avait:
bindIp: 127.0.0.1
Changer ma connexion JavaScript de localhost à 127.0.0.1 et cela a bien fonctionné.
La même chose se produisait avec MongoDB Compass aussi.
installez mongodb sur votre machine linux avec
apt install mongodb-client && apt install mongodb-server
changez le chemin de la base de données au lieu du chemin par défaut de votre système si vous voulez .
faites donc les étapes suivantes et changez-les vous-même.
mongod --directoryperdb --dbpath /var/lib/mongodb/data/db --logpath /var/lib/mongodb/log/mongodb.log --logappend --rest
et dans votre machine Windows faites-le comme cela, mettez juste un drapeau --install ..__ vous devez obtenir un message réussi.
Meilleures salutations...