【发布时间】:2014-08-24 04:23:09
【问题描述】:
当我尝试从终端运行 mongod 时,出现以下错误:
2014-07-02T23:56:24.797-0700 [initandlisten] 错误:listen(): bind() failed errno:48 地址已用于套接字:0.0.0.0:27017 2014-07-02T23:56:24.797-0700 [initandlisten] 错误:地址已在使用中
我最近意识到我的 Mac 上有两个版本的 MongoDB,并认为这可能是上述错误的根源。 (另外,我不需要两个版本。)我尝试了谷歌搜索,但无法找到关于如何卸载的明确指示。我有开发版本 2.7.0 和 2.6.3。
非常感谢您的帮助!
【问题讨论】:
-
如果您使用
brew安装它们,您可以使用brew uninstall mongo。要解决您的套接字问题,请使用ps aux | grep mongo杀死所有 mongodb 进程以查看进程并使用kill -9 process_number杀死它。 -
非常感谢您的快速回复,Pierre-Louis。不幸的是,仍然是同样的问题。尝试了 brew uninstall 以及带有数字的 kill -9 。仍然得到 ERROR: listen(): bind() failed errno:48 Address already in use for socket: 0.0.0.0:27017.
-
在稍微痛苦之后,Pierre-Loiuse, pkill -mongod 工作了。即使在终端关闭并重新加载之后,MongoDB 基本上似乎总是在运行。我需要在终端加载时 pkill -mongod,或者在退出终端之前控制-C 正在运行的数据库。再次感谢!!
-
仅供参考,如果你有一个正在运行的
mongod,那么关闭的方式比kill -9更礼貌(只能在极度绝望的情况下使用)。请参阅:How to stop mongo DB in one command。 -
@Pierre-LouisGottfrois 你的评论应该是一个答案。
标签: mongodb