安装了 docker 并使用 mongodb 运行了一个容器,现在brew 的 mongodb 不起作用



我最近安装了docker,并用mongodb运行了一个容器,现在我的本地brew的mongodb不工作了。

我使用的是mac,最初是用自制软件安装mongodb的。brew services list现在将mongodb服务显示为"正在运行",但显示为黄色(显然这意味着未知),并且我无法使用mongochef进行连接。这只发生在停止服务brew service stop mongodb一次之后,因为它阻止我在该项目中使用docker:https://meanjs.org/.我停止了服务,因为mongodb端口发生冲突。现在,即使销毁了所有的docker容器,我也无法让mongodb在我的机器上工作。我尝试过使用brew重新安装mongodb,并停止和启动该服务。

我还尝试删除/tmp中的文件,如下所示:MongoDB启动失败-***在fassert()失败后中止

有什么建议吗?

因此,当你有很多其他事情要做时,这是一个非常令人讨厌的问题。我仍然不完全确定这是一种问题还是多种问题。不过,如果我再次尝试修复它,我会按照以下顺序进行:

我完全删除了mongo并重新安装(这最终修复了mongodb服务的状态,从黄色变为绿色),如下所示:https://gist.github.com/katychuang/10439243:

# checks to see if running 
launchctl list | grep mongo
launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist
launchctl remove homebrew.mxcl.mongodb
pkill -f mongod
rm -f ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist
brew uninstall mongodb
# double check existence
ls -al /usr/local/bin/mong*
ls -al ~/Library/LaunchAgents
# this was mentioned in the comments
rm -R /usr/local/var/mongodb

然而,我认为我的数据也被破坏了。不幸的是,mongod --repair(mongodb错误:我如何确保安装了您的日志目录)说,如果不使用--journaled运行,它就无法修复数据,但这也不起作用。所以我删除了/data/db中的数据库,我根本不需要它们,因为我有备份,而且很容易恢复。

希望这能帮助任何有类似问题的人。

旁注:

命令行上的mongod命令在跟踪这一情况时提供了一些有用的输出。此外,vim ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist允许我查看正在运行的命令:

<string>/usr/local/opt/mongodb/bin/mongod</string>
<string>--config</string>
<string>/usr/local/etc/mongod.conf</string>

这向我展示了/usr/local/etc/mongod.conf正在被使用,并意识到在运行/usr/local/opt/mongodb/bin/mongod的同时,正在运行:/usr/local/opt/mongodb/bin/mongod --config /usr/local/etc/mongod.conf不起作用,帮助我缩小的范围

最新更新