MongoDB服务器无法启动

3

今天我刚安装了Arch Linux。我正在设置我的开发堆栈,但遇到了mongodb的问题。

我在安装时遵循了这个维基页面: https://wiki.archlinux.org/index.php/MongoDB#Installing_MongoDB

当我尝试进入mongo控制台时,出现了以下信息:

jan@arch:~$ mongo
MongoDB shell version: 2.4.5
connecting to: test
Tue Jul  9 19:38:13.365 JavaScript execution failed: Error: couldn't connect to server 127.0.0.1:27017 at src/mongo/shell/mongo.js:L112
exception: connect failed
jan@arch:~$ 

我在这里缺少什么?

编辑:我发现当我直接从终端运行 mongod 时,它可以正常启动服务器。然而,systemctl start mongodb 没有启动它。


你看过这个吗? - Kyle
@ChrisHeald,/var/log/mongodb/mongod.log是空的。 - if __name__ is None
1
尝试手动执行启动脚本。它可能指向错误的路径或其他问题。 - Chris Heald
1个回答

2

好的,通过扫描journalctl的输出,我已经弄清楚了:

ul 09 19:49:33 arch mongod[1122]: all output going to: /var/log/mongodb/mongod.log Jul 09 19:49:33 arch mongod[1122]: can't open [/var/log/mongodb/mongod.log] for log file: errno:13 Permission denied Jul 09 19:49:33 arch mongod[1122]: Bad logpath value: "/var/log/mongodb/mongod.log"; terminating.

所以我搜索了可以被MongoDB利用的用户:

jan@arch:~$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
...
mongodb:x:998:2::/var/lib/mongodb:/bin/bash

并且更改所需的文件夹所有权:

jan@arch:~$ sudo chown -R mongodb:x /var/log/mongodb/
jan@arch:~$ sudo chown -R mongodb:x /var/lib/mongodb/

再次启动:

jan@arch:~$ sudo systemctl start mongodb

现在它可以工作了。

 jan@arch:~$ mongo
    MongoDB shell version: 2.4.5
    connecting to: test
    Welcome to the MongoDB shell.
    For interactive help, type "help".
    For more comprehensive documentation, see
        http://docs.mongodb.org/
    Questions? Try the support group
        http://groups.google.com/group/mongodb-user
    > 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接