我已经安装了mongodb并且能够运行它,使用它,做简单的DB读/写类型的东西。现在我正在尝试设置我的Mac以运行mongod作为服务。
我在回复:
时收到“未找到命令” init mongod start
回应:
~: service mongod start
service: This command still works, but it is deprecated. Please use launchctl(8) instead.
service: failed to start the 'mongod' service
如果我尝试:
~: launchctl start mongod
launchctl start error: No such process
显然我有点浮躁了。下一步似乎是输入随机字符,直到有效。 工作的命令是:mongod --quiet &
我不确定,也许这就是你应该这样做的方式?也许我应该脱掉'安静模式'并将> /logs/mongo.log
添加到命令行的末尾?
我正在Mac上构建一个开发环境,目的是在linux服务器上做同样的事情。我只是不确定Bash命令。我尝试提取答案时所做的所有其他搜索都为我提供了Windows机器的建议。
也许有人知道linux版本的命令?
非常感谢
答案 0 :(得分:152)
编辑:您现在应该使用brew services start mongodb
,就像Gergo的回答一样......
当您安装/升级mongodb时,brew会告诉您该怎么做:
要在登录时启动启动mongodb:
ln -sfv /usr/local/opt/mongodb/*.plist ~/Library/LaunchAgents
然后立即加载mongodb:
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist
或者,如果您不想/需要launchctl,您可以运行:
mongod
效果很好。
答案 1 :(得分:127)
最近建立的mongodb社区版本,这很简单。
当您通过brew安装时,它会告诉您究竟要做什么。无需创建新的启动控制文件。
$ 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
答案 2 :(得分:70)
Homebrew services
点击将公式与launchctl
经理进行整合。添加它很容易:
brew tap homebrew/services
然后您可以使用此命令启动MongoDB(这也将在启动时启动mongodb):
brew services start mongodb
您还可以使用stop
或restart
:
brew services stop mongodb
brew services restart mongodb
答案 3 :(得分:14)
如果您想要一个简单的gui来修复此问题(就像我一样),那么我可以推荐mongodb pref-pane。说明:http://blog.mongodb.org/post/28925264384/macosx-preferences-pane-for-mongodb
在github上:https://github.com/remysaissy/mongodb-macosx-prefspane
答案 4 :(得分:3)
刚刚通过Homebrew安装了MongoDB。在安装控制台的末尾,您可以看到如下输出:
启动mongodb:
brew services start mongodb
或者,如果您不想/需要后台服务,您可以运行:
mongod --config /usr/local/etc/mongod.conf
所以, brew服务启动mongodb ,设法将MongoDB作为服务运行。
答案 5 :(得分:2)
我在Mac方面做了一些调查。您可能希望使用安装程序here,因为它看起来像是为您在Mac OS上自动启动的所有设置。唯一的缺点是看起来它使用了一个非常古老的mongo版本。
此链接here还说明了让mongo自动在Mac上作为后台服务启动的设置。
答案 6 :(得分:0)
mongod --dbpath [path_to_data_directory]
答案 7 :(得分:0)
使用
在你的linux机器上安装mongodb安装mongodb-client&& apt install mongodb-server
更改数据库路径而不是系统默认路径。
所以请执行以下步骤并自行更改。
mongod --directoryperdb --dbpath /var/lib/mongodb/data/db --logpath /var/lib/mongodb/log/mongodb.log --logappend --rest
并在你的Windows机器上就像只是放一个--install标志。 你必须得到一个成功的信息。
最诚挚的问候......
答案 8 :(得分:0)
在装有MongoDB 4.0的macOS 10.13.6上
我无法从mongo shell连接到本地主机
我以以下方式启动MongoDB:
mongod --config /usr/local/etc/mongod.conf
我发现'mongod.conf'具有:
bindIp:127.0.0.1
将我的JavaScript连接从 localhost 更改为 127.0.0.1 ,它可以正常工作。
MongoDB Compass也发生了同样的情况。
答案 9 :(得分:0)
mongod
不能为我启动守护程序,但是在运行以下命令之后,它开始运行:
'mongod --fork --logpath /var/log/mongodb.log'
(从这里开始:https://docs.mongodb.com/manual/tutorial/manage-mongodb-processes/)
答案 10 :(得分:0)
通过brew安装mongodb之后,请运行以下命令以使其启动并运行:
mongod --dbpath /usr/local/var/mongodb