从源代码安装 MySQL 需要 several 开发工具。其中一些工具无论您使用标准源代码分发还是开发源代码树都是必需的。其他工具需求取决于您使用的安装方法。
要从源代码安装 MySQL,以下系统要求必须满足,无论安装方法如何:
-
CMake,用于所有平台的构建框架。CMake 可以从 http://www.cmake.org 下载。
-
一个好的 make 程序。虽然一些平台带有自己的 make 实现,但我们强烈建议您使用 GNU make 3.75 或更高版本。它可能已经在您的系统上可用为 gmake。GNU make 可以从 http://www.gnu.org/software/make/ 下载。
在 Unix-like 系统上,包括 Linux,可以这样检查系统的 make 版本:
$> make --version GNU Make 4.2.1
-
MySQL 8.3 源代码允许使用 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 库支持”。 -
Boost C++ 库是构建 MySQL 所需的(但不是使用它)。在 MySQL 8.3 及更高版本中,这些库总是与 MySQL 源代码捆绑。
-
ncurses 库。
-
足够的免费内存。如果您在编译大型源文件时遇到错误,如 internal compiler error,可能是您内存不足。如果在虚拟机上编译,尝试增加内存分配。
-
Perl 是运行测试脚本所需的。大多数 Unix-like 系统都包括 Perl。对于 Windows,可以使用 ActiveState Perl 或 Strawberry Perl。
要从标准源代码分发安装 MySQL,以下工具之一是必需的:
-
对于
.tar.gz
压缩 tar 文件:GNUgunzip
用于解压缩分发文件和合理的 tar 用于解包文件。如果您的 tar 程序支持z
选项,它可以同时解压缩和解包文件。GNU tar 已知可以工作。一些操作系统提供的标准 tar 无法解包 MySQL 分发中的长文件名。您应该下载并安装 GNU tar,或如果可用,使用预安装的 GNU tar 版本。通常这可以在
/usr/sfw/bin
或/usr/local/bin
中找到 GNU 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/ 获取。
bison
for Windows 可以从 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.5 节,“如何报告错误或问题” 中的说明进行操作。