percona-server-mongodb-6.0源码安装
###################################
请注意,预构建的二进制文件可在 mongodb.org上获得,这可能是最简单的入门方式,而不是从源代码构建。
要构建 MongoDB,您需要:
- 能够编译 C++17 的现代 C++ 编译器。需要以下其中一项:
- GCC 8.2 或更新版本
- Clang 7.0(或 Apple XCode 10.2 Clang)或更新版本
- Visual Studio 2019 版本 16.4 或更高版本(有关详细信息,请参阅下面的 Windows 部分)
- 在 Linux 和 macOS 上,需要 libcurl 库和标头。MacOS 包括 libcurl。
- 软呢帽/RHEL -
dnf install libcurl-devel
- Ubuntu/Debian -
libcurl-dev
由三个软件包提供。安装其中之一:libcurl4-openssl-dev
libcurl4-nss-dev
libcurl4-gnutls-dev
- 在 Ubuntu 上,需要 lzma 库。安装
liblzma-dev
- 软呢帽/RHEL -
- Python 3.7.x 和 Pip 模块:
- 请参阅下面的“Python 先决条件”部分。
- 大约 13 GB 的可用磁盘空间用于核心二进制文件(
mongod
、mongos
和mongo
),大约 600 GB 用于安装所有目标。
MongoDB 支持以下体系结构:arm64、ppc64le、s390x 和 x86-64。可以在下面找到更详细的平台说明。
MongoDB 工具
MongoDB 命令行工具(mongodump
、mongorestore
、 mongoimport
、mongoexport
等)已用 Go重写,不再包含在此存储库中。
这些工具的源代码现在可以在 mongodb/mongo-tools获得。
Python 先决条件
为了构建 MongoDB,需要 Python 3.7+,并且必须安装几个 Python 模块。请注意,在 macOS 上,系统 python 仍然是 python2。您将需要使用自制软件或 macports 或类似软件来获取 python3。
要安装所需的 Python 模块,请运行:
$ python3 -m pip install -r etc/pip/compile-requirements.txt
建议在专用于构建 MongoDB 的基于 python3 的 virtualenv 中安装要求。
注意:为了编译基于 C 的 Python 模块,您还需要 Python 和 OpenSSL C 标头。跑步:
- 软呢帽/RHEL 》
dnf install python3-devel openssl-devel
- Ubuntu(20.04 及更新版本)/Debian(Bullseye 及更新版本)-
apt install python-dev-is-python3 libssl-dev
- Ubuntu(18.04 及更早版本)/Debian(Buster 及更早版本)-
apt install python3.7-dev libssl-dev
SCons
如果您只想构建数据库服务器mongod
:
$ python3 buildscripts/scons.py install-mongod
注意:对于比受支持版本更新的 C++ 编译器,编译器可能会发出导致 MongoDB 无法构建的新警告,因为构建系统将编译器警告视为错误。要忽略警告,请将开关传递 --disable-warnings-as-errors
给 scons。
$ python3 buildscripts/scons.py install-mongod --disable-warnings-as-errors
mongod
直接安装到/opt/mongo
$ python3 buildscripts/scons.py DESTDIR=/opt/mongo install-mongod
创建服务器的安装树,/tmp/unpriv
以后可以将其复制到/usr/priv
$ python3 buildscripts/scons.py DESTDIR=/tmp/unpriv PREFIX=/usr/priv install-servers
如果您想绝对构建所有内容(mongod
、、mongo
单元测试等):
$ python3 buildscripts/scons.py install-all-meta
SCons 目标
可以在 scons 命令行上命名以下目标以仅构建某些组件:
install-mongod
install-mongos
install-mongo
或者install-shell
install-servers
(包括mongod
和mongos
)install-core
(包括mongod
,mongos
,mongo
)install-all
安装高版本python:
dnf -y install python39
报错信息:缺少uuid
安装uuid:
dnf -y install uuid
报错信息:
error: bzlib.h: No such file or directory
安装bzip2-devel包:
dnf -y install bzip2-devel.x86_64
报错:
ext2fs/ext2_fs.h:没有那个文件或目录
安装:
dnf -y install e2fsprogs-devel
###############################
###############################