MongoDB 加载但中断,返回状态=14

MongoDB 加载但中断,返回状态=14

因此我尝试在 Ubuntu 16.04 上设置 Mongodb,但遇到了麻烦。

运行时:

sudo systemctl status mongodb

我得到以下信息:

 mongodb.service - High-performance, schema-free document-oriented database
   Loaded: loaded (/etc/systemd/system/mongodb.service; disabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Sat 2016-09-10 14:02:22 CEST; 14s ago
     Docs: https://docs.mongodb.org/manual
  Process: 8724 ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf (code=exited, status=14)
 Main PID: 8724 (code=exited, status=14)

根据 mongo-docs,status=14 是:

"Returned by MongoDB applications which encounter an unrecoverable error, an uncaught exception or uncaught signal. The system exits without performing a clean shut down."

我并没有真正指出任何特定的方向。

我的/etc/systemd/system/mongodb.service样子是这样的:

[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target

[Service]
User=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf

[Install]
WantedBy=multi-user.target

有什么想法可以解释造成这种情况的原因吗?

谢谢

答案1

在谷歌上搜索了一段时间后,我发现这是因为 /var/lib/mongodb和上的权限设置/tmp/mongodb-27017.lock错误。您必须将所有者更改为 monogdb 用户

sudo chown -R mongodb:mongodb /var/lib/mongodb
sudo chown mongodb:mongodb /tmp/mongodb-27017.sock

然后

sudo service mongod restart

答案2

通过使用这个我的错误就消失了:

  1. 进入TMP目录:cd /tmp
  2. 检查您是否有 mongodb sock 文件:ls *.sock
  3. 更改用户:组权限:chown mongodb:mongodb <YOUR_SOCK>
  4. 启动MongoDB:sudo service mongod start
  5. 检查 MongoDB 状态:sudo service mongod status

答案3

删除 mongod sock 文件解决了我的问题sudo rm -rf /tmp/mongodb-27017.sock 然后重新开始sudo systemctl start mongod

答案4

我尝试了这个并且成功了:

sudo nano /etc/mongod.conf

注释“bind ip”行。

sudo mongod --auth --port 27017 --dbpath /data/db

然后我跑了

sudo service mongod restart

相关内容