非法指令(核心转储)mongodb Ubuntu 20.04 LTS

Abd*_*hab 15 ubuntu lts mongodb

我按照官方文档安装了 mongodb-org 5.0.2

我用来通过终端安装的代码如下:

     1.wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | sudo apt-key add -

     2.echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/5.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list

     3.sudo apt-get update

     4.sudo apt-get install -y mongodb-org
Run Code Online (Sandbox Code Playgroud)

安装后我开始使用

     sudo systemctl start mongod
Run Code Online (Sandbox Code Playgroud)

如果我使用mongod --version命令,它会显示:-

     Illegal instruction (core dumped)         
Run Code Online (Sandbox Code Playgroud)

Abd*_*hab 40

  1. mongod通过发出以下命令来停止该进程:-

    sudo service mongod stop
    
    Run Code Online (Sandbox Code Playgroud)
  2. 删除您之前安装的所有 MongoDB 软件包:-

    sudo apt-get purge mongodb-org*
    
    Run Code Online (Sandbox Code Playgroud)
  3. 删除 MongoDB 数据库和日志文件:-

    sudo rm -r /var/log/mongodb
    sudo rm -r /var/lib/mongodb
    
    Run Code Online (Sandbox Code Playgroud)
  4. 然后重新安装 MongoDB 4.4.x

  5. 导入包管理系统使用的公钥:-

    wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
    
    Run Code Online (Sandbox Code Playgroud)
  6. 以下说明适用于 Ubuntu 20.04 (Focal):-

    echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
    
    Run Code Online (Sandbox Code Playgroud)
  7. 更新APT

    sudo apt-get update
    
    Run Code Online (Sandbox Code Playgroud)
  8. 安装 MongoDB 4.4.x(现已推出 4.4.15)

    sudo apt-get install -y mongodb-org=4.4.15 mongodb-org-server=4.4.15 mongodb-org-shell=4.4.15 mongodb-org-mongos=4.4.15 mongodb-org-tools=4.4.15
    
    Run Code Online (Sandbox Code Playgroud)
  9. 用于mongod --version检查是否安装成功

  10. 如果您在使用过程中遇到任何错误mongod

    sudo mkdir /data
    cd /data
    sudo mkdir db
    sudo pkill -f mongod
    
    Run Code Online (Sandbox Code Playgroud)
  11. 然后使用sudomongod命令。

  12. 经过长期研究,由于这个社区和互联网,它现在运行得很好。

编辑:

执行上述步骤后:

如果出现以下错误:

mongod.service: Failed with result 'exit-code'.
Run Code Online (Sandbox Code Playgroud)

然后删除以下文件并mongod再次启动服务。

sudo rm -rf /tmp/mongodb-27017.sock
sudo service mongod start
Run Code Online (Sandbox Code Playgroud)

更多信息

  • 我对 Mongo core dump 版本 5 的无尽问题通过按照您的指示返回到版本 4.4.8 得到了解决。谢谢。 (2认同)

小智 6

这不是降级 mongo 安装的最佳变体。

问题原因是您的主机或虚拟机不支持 cpu 的 AVX 指令。

https://www.mongodb.com/community/forums/t/mongodb-community-5-0-12-illegal-instruction-core-dumped-ubuntu-20-04-5-lts/204332

检查您的主机是否支持 AVX 指令(lscpu | grep avx),如果支持,则似乎您在虚拟机中运行 mongo,请检查您的虚拟机管理程序是否配置为将主机 cpu 功能传递到虚拟机中。

如果主机不支持 AVX 指令,那么您可以选择降级