【问题标题】:MongoDB - shutting down with code:62MongoDB - 使用代码关闭:62
【发布时间】:2017-12-16 21:13:57
【问题描述】:

我按照 MongoDB 文档在 macOS 中运行我的 MongoDB,

当我使用终端启动 MongoDB 时出现此错误:

使用代码关闭:62

【问题讨论】:

  • 我在 ec2 实例上的 docker 中运行 mongodb 时遇到了同样的错误。通过删除 mongodb 存储其元数据和文档的数据目录来修复它。对我来说,它位于 /data/db
  • 它也对我有用。谢谢。
  • 作为此问题的未来查看者的旁注:您可能在更新 MongoDB 后收到此错误。如果是这样,如果您担心丢失之前存储的信息,您应该考虑升级它。

标签: mongodb


【解决方案1】:

删除MongoDB存储的数据目录,重新创建。

rmdir data

还有:

mkdir data/db

【讨论】:

  • 也为我工作。谢谢。
  • 非常感谢您的解决方案。它帮助我解决了这个问题:)
  • 请问这是什么原因
  • 如果我想保留数据怎么办?
  • 如果您对删除数据库不感兴趣,可以easily upgrade it。这真的不应该是公认的答案。
【解决方案2】:

当我在没有升级数据的情况下切换到新版本mongod(例如,从版本3.2 到版本3.6)时遇到了类似的问题。

在这种情况下,mongod 输出 ** IMPORTANT: UPGRADE PROBLEM: The data files need to be fully upgraded to version 3.4 before attempting an upgrade to 3.6; see http://dochub.mongodb.org/core/3.6-upgrade-fcv for more details.mongod--verbose 键开始)。

The link 确实提供了有关如何升级数据的详细说明。

奇怪的是62没有在documentation中描述错误。

【讨论】:

  • 如何从 3.2 升级到 3.6 的简短版本是先安装 3.4,然后运行 ​​db.adminCommand( { setFeatureCompatibilityVersion: "3.4" } )。之后我可以成功升级到 3.6。
  • 现在退出代码62出现在documentation中。
  • @ChadvonNau 升级后你在 3.6 版本中遇到什么问题了吗?
  • @Jerry 不,我没有。我只有一个用于keystonejs.com 应用程序的小型数据库,所以除此之外我无话可说。
【解决方案3】:

这对我有用

最初我遇到了各种问题,比如当我尝试使用以下方法启动服务器时:

mongod

I received this error: shutting down with code 100

然后我试着开始

sudo mongod

I received this error: shutting down with code 62

最后这个命令帮助我摆脱了各种问题

sudo mongod --repair

现在mongod服务器正在试运行

sudo mongod

【讨论】:

  • 这对我也有用。我必须为数据库使用正确的 mongo 版本,然后是 --repair。之后,一切正常。
【解决方案4】:
 Error code 62:MongoDB dbpath doesn't support the current version 

删除数据主管不是optimal 解决方案。最好的解决方案是 upgrade 到更高版本。

否则,在具有更高版本的新实例上转储并恢复完整数据库。

mongodump --db 员工 --out /path/

mongorestore /path/employee/

希望对你有帮助!!!

【讨论】:

  • 看到错误代码 62 后,Mongodbump 将无法工作,因为服务器无法启动
  • mongodump 和恢复不是一个选项,如果你有很多数据,如果它必须快速发生。
【解决方案5】:

我在 Arch Linux 上遇到了这个问题。我通过从 AUR 安装 mongodb34-bin 解决了这个问题(这需要删除 mongodb 包)。然后我跑了

$ sudo mongodb --repair

然后,我从 3.4 二进制文件启动数据库,然后运行

$ mongo
> db.adminCommand( { setFeatureCompatibilityVersion: "3.4" } )
{ "ok" : 1 }
> quit

之后,我停止了3.4版本,重新安装了常规的mongodb包,进行了第二次修复。

【讨论】:

  • 澄清 MongoDB 3.4 是否比其他 mongodb 包更新或更旧。
【解决方案6】:

如果您正在升级 MongoDB,请确保您的 featureCompatibilityVersion 版本正确。我遇到了类似的问题,将 featureCompatibilityVersion 更新到正确的版本后,它工作正常。

参考:https://docs.mongodb.com/manual/reference/command/setFeatureCompatibilityVersion/

【讨论】:

    【解决方案7】:

    您可以将二进制文件改回 Mongodb 3.4.2.3 以执行以下操作: 根据您的分配从 mongodb 网站下载 tar:https://www.mongodb.org/downloadsUntar 下载文件。

    tar -zxvf {mongo-tar-file}.tgz
    

    停止 mongod 服务。

    sudo service mongod stop
    

    将 tar/bin 中的二进制文件替换为 /usr/bin。

    cd {your-extracted-folder}/bin
    
    sudo mv -f * /usr/bin/
    

    启动mongod服务。

    sudo service mongod start
    

    然后当mongo运行时

    again do: db.adminCommand( { setFeatureCompatibilityVersion: "3.4" } )
    

    然后你可以更新到 3.6

    【讨论】:

    • 请将您的命令格式化为代码块,以便它们更具可读性
    【解决方案8】:

    在大多数情况下,此错误似乎是由于升级 MongoDB 时跳过了一个或多个版本。正确的解决方案(即不丢失数据)是一次浏览一个版本。

    对于每个版本,确保为该版本运行mongo shell,然后运行以下命令:

    db.adminCommand({setFeatureCompatibilityVersion:"<major.minor>"})
    

    ...&lt;major.minor&gt; 被替换为 MongoDB 的主要和次要版本。例如,4.4.9 版将变为4.4,5.0.2 版将变为5.0

    最终,您尝试运行的新版本 MongoDB 应该会成功。

    注意:如果您在没有管理员命令的情况下单步执行版本,它可能无法正常工作。

    【讨论】:

      【解决方案9】:

      我的错误以错误 62 开始。

      2018-06-10T13:49:27.750-0400 I CONTROL [initandlisten] shutting down with code:62

      我删除了 /db 并在 /data/db 中重新安装了 /db。

      $ sudo -r rm db

      一旦我这样做并尝试运行 >mongod,我得到了 100 错误。我不得不改变权利

      2018-06-10T13:52:20.042-0400 I CONTROL [initandlisten] shutting down with code:100

      为了解决这个问题,我做了:

      $ sudo chown -R `id -un` /data/db

      一旦运行,我就可以运行 mongo db。

      $mongod

      我希望这会有所帮助。

      【讨论】:

        【解决方案10】:

        在您的目录 C: 中,您可能会看到文件夹“data”,然后:

        mkdir -p data\db
        

        在该位置的命令提示符中。

        【讨论】:

          【解决方案11】:

          其他人的答案是正确的,但对我不起作用,我这样解决这个问题:

          sudo apt-get purge mongo* 
          

          或者你可以使用:

          sudo apt remove mongo*
          

          之后:

          sudo apt-get purge mongodb-org*
          sudo rm -r /var/log/mongodb
          sudo rm -r /var/lib/mongodb
          

          和:

          wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc \
            sudo apt-key add -
          

          然后:

          echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/4.2 multiverse" \
            sudo tee /etc/apt/sources.list.d/mongodb-org-4.2.list
          

          之后:

          sudo apt-get install -y mongodb-org=4.2.0 \
                                  mongodb-org-server=4.2.0 \
                                  mongodb-org-shell=4.2.0 \
                                  mongodb-org-mongos=4.2.0 \
                                  mongodb-org-tools=4.2.0
          

          最后:

          systemctl enable mongod.service
          sudo service mongod start
          

          【讨论】:

            【解决方案12】:

            虽然接受的答案有效,但它会删除所有您的数据。

            对我有用且无需丢失数据库的方法是使用mongodump 创建数据备份。然后通过sudo rm -r /path/to/dbdata 删除它,最后用mongorestore 恢复它。

            这使得systemctl start mongodb 不会失败并且数据处于完美状态。

            【讨论】:

            • 如果服务器无法启动,Mongodump 将无法工作 ;)
            猜你喜欢
            • 1970-01-01
            • 2019-09-14
            • 2019-06-19
            • 2017-06-23
            • 1970-01-01
            • 2017-05-16
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多