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

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

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

1. 下载Go编译器源码包。
  1 2 cd /root wget https://dl.google.com/go/go1.13.5.linux-arm64.tar.gz

2. 解压Go源码包到“/usr/local”目录下。
  1 2 tar -C /usr/local -xzf go1.13.5.linux-arm64.tar.gz ls /usr/local/go

3. 设置Go编译器环境变量。

  a. 配置环境变量。

    1. 打开profile文件。
      1 vim /etc/profile

    2. 按“i”进入编辑模式，在文件末尾加入内容。
      1 2 export PATH=$PATH:/usr/local/go/bin export GOROOT="/usr/local/go"

    3. 按“Esc”键，输入:wq!，按“Enter”保存并退出编辑。
  b. 使环境变量生效。
    1 source /etc/profile

  c. 查看Go编译器环境变量是否设置成功。
    1 go env

4. 查看Go编译器版本。
  1 2 whereis go /usr/local/go/bin/go version

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

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

6. 解压MongoDB Tools源码包。
  1 2 3 mv r3.6.13.tar.gz mongo-tools-r3.6.13.tar.gz tar -xvf mongo-tools-r3.6.13.tar.gz ll mongo-tools-r3.6.13

7. 设置MongoDB Tools环境变量。
  1 2 3 4 cd /root/mongo-tools-r3.6.13 chmod +x set_goenv.sh source set_goenv.sh ls

8. 变更MongoDB Tools的编译目录。
  解压后的目录是mongo-tools-r3.6.13，需要进行如下操作更换目录结构，否则编译会报错。

  在mongo-tools-r3.6.13的同级目录下（本文档是“/root”）执行如下命令：

  1 2 3 4 cd /root mkdir -p mongodb-tools-3.6.13/src/github.com/mongodb mv mongo-tools-r3.6.13 mongodb-tools-3.6.13/src/github.com/mongodb/mongo-tools ls

9. 下载解压gopacket，替换MongoDB Tools的gopacket。

  a. 下载gopacket。
    1 2 cd /root wget https://github.com/google/gopacket/archive/master.zip --no-check-certificate

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

  b. 解压gopacket。
    1 2 unzip master.zip ll gopacket-master

  c. 替换MongoDB Tools的gopacket。
    1 2 3 4 ls /root/mongodb-tools-3.6.13/src/github.com/mongodb/mongo-tools/vendor/github.com/google/gopacket/ rm -rf /root/mongodb-tools-3.6.13/src/github.com/mongodb/mongo-tools/vendor/github.com/google/gopacket/ mv gopacket-master /root/mongodb-tools-3.6.13/src/github.com/mongodb/mongo-tools/vendor/github.com/google/gopacket ls /root/mongodb-tools-3.6.13/src/github.com/mongodb/mongo-tools/vendor/github.com/google/gopacket/

10. 建立GCC软链接。

  a. 查看GCC路径以及版本。
    1 2 whereis gcc /usr/bin/gcc --version

  b. 创建并查看GCC软链接。
    1 2 3 mkdir -p /opt/mongodbtoolchain/v3/bin ln -s /usr/bin/gcc /opt/mongodbtoolchain/v3/bin/aarch64-mongodb-linux-gcc ll /opt/mongodbtoolchain/v3/bin/aarch64-mongodb-linux-gcc

    aarch64-mongodb-linux-gcc：待创建的软链接文件名称。 /opt/mongodbtoolchain/v3/bin：软链接文件的存放路径。 /usr/bin/gcc：软链接文件所链接的源文件。 如果需要删除软链接，请执行如下命令，其中“/opt/mongodbtoolchain/v3/bin/aarch64-mongodb-linux-gcc”为创建的软链接文件。 1 rm -rf /opt/mongodbtoolchain/v3/bin/aarch64-mongodb-linux-gcc

11. 编译安装MongoDB Tools。
  1 2 cd /root/mongodb-tools-3.6.13/src/github.com/mongodb/mongo-tools/ ./build.sh

  查看生成的二进制可执行文件。

  1 ll /root/mongodb-tools-3.6.13/src/github.com/mongodb/mongo-tools/bin

12. 验证MongoDB Tools命令是否正常。本文以mongostat和mongoexport为例进行说明。
  1 2 3 /root/mongodb-tools-3.6.13/src/github.com/mongodb/mongo-tools/bin/mongostat --version /root/mongodb-tools-3.6.13/src/github.com/mongodb/mongo-tools/bin/mongoexport --version /root/mongodb-tools-3.6.13/src/github.com/mongodb/mongo-tools/bin/mongodump --version
