【问题标题】:mongo db (mongodb.service) failed, status 14mongo db (mongodb.service) 失败,状态 14
【发布时间】:2019-04-27 10:03:29
【问题描述】:

我在使用 mongodb 时遇到以下问题。

这是错误,当我检查状态时:

Screenshot of the error(mongodb.service,状态 14)

Screenshot of code in the mongod.config file

Screenshot of the log file

我已经尝试按照网站上的每一步卸载 mongodb 并再次安装所有内容,当我检查状态时,我仍然收到相同的错误。我已经发布了错误的屏幕截图。 如果这很重要,我正在使用 MacBook Pro。

如果有人能帮我解决这个问题,我将不胜感激。

【问题讨论】:

  • 查看日志文件中是否有任何内容。您可以在/etc/mongod.conf中找到日志文件路径。
  • @yaoxing 是的,我已经在文件中添加了另一个代码截图,因为它太长了,无法粘贴到这里..
  • 您需要在/var/log/mongodb/mongod.log 进行战利品。看看里面有没有什么有趣的东西。
  • 我附上了日志文件的截图。

标签: database mongodb web


【解决方案1】:

通过将所有者更改为monogdb用户 /var/lib/mongodb 和 /tmp/mongodb-27017.lock 对我有用。

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

【讨论】:

  • 对于 mongo4 使用:sudo chown -R mongod:mongod /var/lib/mongo/
  • 此文件所有权修复是必要的,因为如果您遵循 [MongoDB 教程][1],您可能会从命令行启动 mongod,这会更改数据目录中 2 个文件的所有权(首先修复@Roshan提到的)。文件所有权更改后,mongod 不能再作为服务启动(使用配置文件),直到您恢复文件所有权,如本解决方案中所述。 [1]docs.mongodb.com/v4.0/tutorial/enable-authentication
【解决方案2】:

从日志看来,您之前有一次不干净的关机。或者,它也可能表明mongod 已经在运行。
首先,确保mongod 尚未运行

ps aux | grep mongod

如果不是,请删除该文件:

rm /tmp/mongodb-27017.sock

然后尝试systemctl start mongod 重新启动 MongoDB。

【讨论】:

  • 这是使用 MongoDB v4.4.2 在 CentOS 8 上运行 mongod 服务的解决方案
  • 适用于 Ubuntu 18.04 和 MongoDB v4.4.5
  • 它适用于 CentOS 7 和 MongoDB 4.4.6。非常感谢!
【解决方案3】:

在命令行重启后,问题解决了,不知道为什么停止mongo并卸载和安装后没有解决问题,但重启后一切正常。

【讨论】:

    【解决方案4】:

    这在 Ubuntu 18.04 上对我有用

    Go to the TMP directory: cd /tmp
    Check if you have the mongodb sock file: ls *.sock
    Change the user:group permission: chown mongodb:mongodb <YOUR_SOCK>
    Start MongoDB: sudo service mongod start
    Check the MongoDB status: sudo service mongod status
    

    如果还是不行可以试试

    sudo reboot
    

    请看这里:https://medium.com/@gabrielpires/mongodb-ubuntu-16-04-code-exited-status-14-aws-lightsail-problem-417ffc78cb11

    【讨论】:

      【解决方案5】:

      我遇到了类似的问题,即使权限一切正常,服务也无法启动。我看了一下mongodb日志

      sudo tail -40 /var/log/mongodb/mongod.log
      

      表示数据库意外关闭,需要修复。我跑了

      sudo mongod --repair --config /etc/mongod.conf
      

      这修复了数据库,但现在更改了权限。您将需要再次执行 chown 步骤。

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

      启动mongod服务。它现在可以启动并运行了。

      【讨论】:

        【解决方案6】:

        我也有类似的问题。是一个 SELinux 阻止了正常执行。 所以,我做到了:

        # ausearch -c 'mongod' --raw | audit2allow -M my-mongod
        # semodule -X 300 -i my-mongod.pp
        

        然后:

        $ sudo systemctl start mongod
        

        并检查:

        sudo systemctl status mongod
        

        【讨论】:

          【解决方案7】:
          chown -R mongodb:mongodb /var/lib/mongodb chown mongodb:mongodb /tmp/mongodb-27017.sock

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2019-06-17
            • 1970-01-01
            • 2021-10-26
            • 1970-01-01
            • 2014-09-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多