编译和安装MongoDB Tools
下文以MongoDB 3.6.13版本为例描述通过源码编译和安装MongoDB Tools的操作步骤,其他版本的MongoDB也可参考本章节。
以下命令中,“3.6.13”表示MongoDB的版本号。安装其他版本的MongoDB时,请将“3.6.13”替换为对应的MongoDB版本号。
- 下载go编译器源码包。
1 2
cd /root wget https://dl.google.com/go/go1.13.5.linux-arm64.tar.gz
- 解压go源码包到“/usr/local”目录下。
1 2
tar -C /usr/local -xzf go1.13.5.linux-arm64.tar.gz ls /usr/local/go
- 设置go编译器环境变量。
- 配置环境变量。
- 打开profile文件。
1
vim /etc/profile
- 按“i”进入编辑模式,在文件末尾加入内容。
1 2
export PATH=$PATH:/usr/local/go/bin export GOROOT="/usr/local/go"
- 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
- 打开profile文件。
- 使环境变量生效。
1
source /etc/profile
- 查看go编译器环境变量是否设置成功。
1
go env
- 配置环境变量。
- 查看go编译器版本。
1 2
whereis go /usr/local/go/bin/go version
- 下载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后再执行下载命令。
- 解压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
- 设置MongoDB Tools环境变量。
1 2 3 4
cd /root/mongo-tools-r3.6.13 chmod +x set_goenv.sh source set_goenv.sh ls
- 变更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
- 下载解压gopacket,替换MongoDB Tools的gopacket。
- 下载gopacket。
1 2
cd /root wget https://github.com/google/gopacket/archive/master.zip --no-check-certificate
如果执行wget命令失败,请将github.com替换为github.com.cnpmjs.org后再执行下载命令。
- 解压gopacket。
1 2
unzip master.zip ll gopacket-master
- 替换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/
- 下载gopacket。
- 建立GCC软链接。
- 查看GCC路径以及版本。
1 2
whereis gcc /usr/bin/gcc --version
- 创建并查看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
- 查看GCC路径以及版本。
- 编译安装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
- 验证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
父主题: 通过源码编译安装