编译和安装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

    开始回显:

    结束回显:

    安装完成后,在“/usr/local/mongo”下会自动生成bin目录。执行如下命令查看bin目录下的内容。

    1
    ll /usr/local/mongo/bin
    

  6. 删除调试信息。

    1
    2
    3
    4
    cd /usr/local/mongo/bin
    strip mongos
    strip mongod
    strip mongo