我使用 10gen 存储库在 Debian VM 上安装了 MongoDB apt-get
。安装后不久,我想在配置文件中启用身份验证,但当我运行时service mongodb restart
,它停止并拒绝重新启动。
我可以可靠地重现这一点:每次我运行apt-get purge mongodb-10gen; apt-get install mongodb-10gen
服务器时都会启动。但是,当我service mongodb start
运行
启动数据库:mongodb失败的!
mongo.log
该文件或我找到的任何其他日志中都没有任何内容写入。
答案1
我进行了编辑,从调用中/etc/init.d/mongodb
删除了参数,但出现了带有堆栈跟踪的错误。我无法发布完整的堆栈跟踪(因为我无法在终端窗口中向后滚动来获取它),但出现错误之前的最后一个函数调用是与获取系统语言有关的某个函数。--background
start-stop-daemon
我之前已经设置LANG="en_US.UTF-8"
好要构建一些 ruby 宝石。我运行了它unset LANG
,现在我可以启动 MongoDB 了。
(有趣的是,我再次set LANG...
重新启动了 MongoDB,它仍然有效。)
答案2
它看上去像这里的堆栈跟踪吗?
https://jira.mongodb.org/browse/SERVER-9273
这可能是由于区域设置混乱造成的 - 我见过注销/登录修复了这个问题,或者直接设置LC_ALL
或类似设置也会出现同样的问题。如果你能弄清楚如何可靠地重现它,那么就值得报告,我怀疑这实际上是 boost 依赖项而不是 MongoDB 依赖项,但仍然值得了解问题的触发因素和修复方法。