WARNING: MongoDB 5.0+ requires a CPU with AVX support, and your current system does not appear to have that!
2024-11-24 15:58:56 see https://jira.mongodb.org/browse/SERVER-54407
2024-11-24 15:58:56 see also https://www.mongodb.com/community/forums/t/mongodb-5-0-cpu-intel-g4650-compatibility/116610/2
2024-11-24 15:58:56 see also https://github.com/docker-library/mongo/issues/485#issuecomment-891991814
2024-11-24 15:58:56
2024-11-24 15:58:56 mongod: line 19: 11 Illegal instruction (core dumped) mongo -u myusername -p mypassword --authenticationDatabase admin --eval "print('waited for connection')" > /dev/null 2>&1
2024-11-24 15:58:56 /usr/local/bin/docker-entrypoint.sh: line 416: 31 Illegal instruction (core dumped) "${mongodHackedArgs[@]}" --fork
日志中的警告信息指出,MongoDB 5.0及以上版本需要CPU支持AVX(高级矢量扩展)指令集,而当前系统似乎不支持AVX。以下是警告信息中提供的链接,你可以查看这些链接以获取更多信息和可能的解决方案:
解决方案
-
升级CPU:
- 如果可能,升级到支持AVX指令集的CPU。
-
降级MongoDB版本:
- 如果你无法升级CPU,可以考虑降级MongoDB到一个不需要AVX支持的版本,例如MongoDB 4.4。
-
使用不同的硬件:
- 如果当前硬件不支持AVX,可以考虑迁移到其他支持AVX的硬件。
-
使用云服务:
- 如果以上选项都不可行,可以考虑使用云服务提供商的MongoDB服务,这些服务通常运行在支持AVX的硬件上。
以下是降级MongoDB版本到4.4的示例步骤(假设你正在使用Docker):
bash
复制
# 停止并删除当前MongoDB容器
docker stop mongo
docker rm mongo
# 使用MongoDB 4.4镜像重新创建容器
docker run --name mongo -d -p 27017:27017 mongo:4.4
请确保在执行这些操作之前备份数据库,以防止数据丢失。如果你正在使用其他部署方法(如直接在服务器上安装MongoDB),则降级过程可能会有所不同。在这种情况下,请参考MongoDB官方文档中的降级指南。