从源码安装 MySQL 需要一些开发工具。无论您使用的是标准源码发行版还是开发源码树,都需要其中的一些工具。其他工具要求取决于您使用的安装方法。
要从源码安装 MySQL,无论使用何种安装方法,都必须满足以下系统要求
CMake,它在所有平台上都用作构建框架。CMake 可以从 http://www.cmake.org 下载。
一个好的 make 程序。尽管一些平台自带 make 实现,但强烈建议您使用 GNU make 3.75 或更高版本。它可能已作为 gmake 安装在您的系统上。GNU make 可以从 http://www.gnu.org/software/make/ 获取。
在类 Unix 系统上,包括 Linux,您可以像这样检查系统的 make 版本
$> make --version GNU Make 4.2.1
MySQL 9.0 源码允许使用 C++17 功能。为了在所有受支持的平台上启用必要级别的 C++17 支持,以下最低编译器版本适用
Linux:GCC 10 或 Clang 12
macOS:XCode 10
Solaris:GCC 10
Windows:Visual Studio 2019
MySQL C API 需要使用 C++ 或 C99 编译器进行编译。
SSL 库是支持加密连接、随机数生成的熵以及其他与加密相关的操作所必需的。默认情况下,构建使用主机系统上安装的 OpenSSL 库。要显式指定库,请在调用 CMake 时使用
WITH_SSL
选项。有关更多信息,请参阅 第 2.8.6 节,“配置 SSL 库支持”。构建 MySQL 需要 Boost C++ 库(但使用它不需要)。在 MySQL 8.3 及更高版本中,这些库始终与 MySQL 源码捆绑在一起。
ncurses 库。
足够的可用内存。如果您在编译大型源文件时遇到诸如 内部编译器错误 之类的构建错误,则可能是您的内存不足。如果在虚拟机上编译,请尝试增加内存分配。
如果您打算运行测试脚本,则需要 Perl。大多数类 Unix 系统都包含 Perl。对于 Windows,您可以使用 ActiveState Perl 或 Strawberry Perl。
要从标准源码发行版安装 MySQL,需要以下工具之一来解压发行版文件
对于
.tar.gz
压缩的 tar 文件:GNUgunzip
用于解压发行版,而合理的 tar 用于解包。如果您的 tar 程序支持z
选项,它可以同时解压和解包文件。已知 GNU tar 可以正常工作。某些操作系统提供的标准 tar 无法解压 MySQL 发行版中的长文件名。您应该下载并安装 GNU tar,或者如果可用,请使用预安装的 GNU tar 版本。通常,它以 gnutar、gtar 或 GNU 或自由软件目录(例如
/usr/sfw/bin
或/usr/local/bin
)中的 tar 的形式提供。GNU tar 可以从 https://www.gnu.org/software/tar/ 获取。对于
.zip
Zip 存档:WinZip 或其他可以读取.zip
文件的工具。对于
.rpm
RPM 软件包:用于构建发行版的 rpmbuild 程序会将其解包。
要从开发源码树安装 MySQL,还需要以下工具
需要使用 Git 版本控制系统来获取开发源码。GitHub 帮助 提供了有关在不同平台上下载和安装 Git 的说明。
bison 2.1 或更高版本,可从 http://www.gnu.org/software/bison/ 获取。(不再支持版本 1。)尽可能使用最新版本的 bison;如果您遇到问题,请升级到更高版本,而不是恢复到早期版本。
bison 可以从 http://www.gnu.org/software/bison/ 获取。适用于 Windows 的
bison
可以从 http://gnuwin32.sourceforge.net/packages/bison.htm 下载。下载标记为 “完整软件包,不包括源码” 的软件包。在 Windows 上,bison 的默认位置是C:\Program Files\GnuWin32
目录。由于目录名中有空格,某些实用程序可能无法找到 bison。此外,如果路径中存在空格,Visual Studio 可能会直接挂起。您可以通过安装到不包含空格的目录(例如C:\GnuWin32
)来解决这些问题。在 Solaris Express 上,除了 bison 之外,还必须安装 m4。m4 可以从 http://www.gnu.org/software/m4/ 获取。
如果您必须安装任何程序,请修改您的 PATH
环境变量以包含程序所在的任何目录。请参阅 第 6.2.9 节,“设置环境变量”。
如果您遇到问题并需要提交错误报告,请按照第 1.6 节 “如何报告错误或问题”中的说明进行操作。