---
title: 编译和安装MongoDB
description: "下文以MongoDB 3.6.13版本为例描述通过源码编译和安装MongoDB的操作步骤，其他版本的MongoDB也可参考本章节。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengdbs/ecosystemEnable/MongoDB/openmind_mangodb3613_02_0023.html
sourcePath: /source/zh/kunpengdbs/ecosystemEnable/MongoDB/openmind_mangodb3613_02_0023.html
indexId: 5bffec61f5e840fab758a68a9b0486d93dc122fe6396a0f6aa5779a46ddd2ee779
---
# 编译和安装MongoDB

下文以MongoDB 3.6.13版本为例描述通过源码编译和安装MongoDB的操作步骤，其他版本的MongoDB也可参考本章节。

以下命令中，“3.6.13”表示MongoDB的版本号。安装其他版本的MongoDB时，请将“3.6.13”替换为对应的MongoDB版本号。

1. 下载MongoDB源码包。
  1 2 cd /root wget https://github.com/mongodb/mongo/archive/r3.6.13.tar.gz --no-check-certificate

  如果执行wget命令失败，请将github.com替换为github.com.cnpmjs.org后再执行下载命令。

2. 解压MongoDB源码包。
  1 2 mv r3.6.13.tar.gz mongo-r3.6.13.tar.gz tar -xvf mongo-r3.6.13.tar.gz

3. 进入“/root/mongo-r3.6.13”源码文件夹。
  1 cd mongo-r3.6.13

4. 编译MongoDB。编译时间大概持续10~15分钟。
执行编译的目录空间必须足够大，大于100GB。


  - 当MongoDB版本为3.6.13或4.0.12时，使用如下编译命令。
    1 python2 buildscripts/scons.py MONGO_VERSION=3.6.13 all CFLAGS="-march=armv8-a+crc -mtune=generic" -j 96 --disable-warnings-as-errors

  - 当MongoDB版本为6.1.0时，则跳过当前步骤，直接执行    5
中的安装命令。
-j 96参数表示充分利用CPU多核优势，加快编译速度。参数-j后数字为CPU核数，可通过cat /proc/cpuinfo | grep processor | wc -l命令进行查看，此数值应小于等于CPU核数。


开始回显：
结束回显：
5. 安装MongoDB。

  - 当安装的MongoDB版本为3.6.13或4.0.12时，使用如下安装命令，通过prefix选项指定安装目录。
    1 2 mkdir /usr/local/mongo python2 buildscripts/scons.py MONGO_VERSION=3.6.13 --prefix=/usr/local/mongo --disable-warnings-as-errors CFLAGS="-march=armv8-a+crc" install -j 64

  - 当安装的MongoDB版本为6.1.0时，则使用如下安装命令，通过DESTDIR选项指定安装目录。

```
mkdir /usr/local/mongo
python3 buildscripts/scons.py MONGO_VERSION=6.1.0 DESTDIR=/usr/local/mongo install-all-meta CFLAGS="-march=armv8-a+crc -mtune=generic" -j 96 --disable-warnings-as-errors
```


    -j 64与-j 96参数表示充分利用CPU多核优势，加快编译速度。参数-j后数字为CPU核数，可通过cat /proc/cpuinfo | grep processor | wc -l命令进行查看，此数值应小于等于CPU核数。

开始回显：
结束回显：
安装完成后，在“/usr/local/mongo”下会自动生成bin目录。执行如下命令查看bin目录下的内容。
```
ll /usr/local/mongo/bin
```

6. 删除调试信息。
  1 2 3 4 cd /usr/local/mongo/bin strip mongos strip mongod strip mongo
