Documentation Home
MySQL 8.3 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 40.8Mb
PDF (A4) - 40.9Mb
Man Pages (TGZ) - 294.0Kb
Man Pages (Zip) - 409.0Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb
Excerpts from this Manual

MySQL 8.3 Reference Manual  /  ...  /  Installing MySQL Using a Standard Source Distribution

2.8.4 使用标准源代码分发安装 MySQL

要从标准源代码分发安装 MySQL:

  1. 验证您的系统是否满足第 2.8.2 节,“源代码安装前提条件”中列出的工具要求。

  2. 按照第 2.1.3 节,“如何获取 MySQL”中的说明获取分布文件。

  3. 按照本节中的说明配置、构建和安装分布。

  4. 按照第 2.9 节,“安装后设置和测试”中的说明执行安装后过程。

MySQL 在所有平台上使用 CMake 作为构建框架。这里给出的说明应该使您能够生成一个工作安装。如果您需要更多关于使用 CMake 构建 MySQL 的信息,请参阅如何使用 CMake 构建 MySQL 服务器

如果您从源 RPM 开始,使用以下命令生成二进制 RPM,然后安装。如果您没有 rpmbuild,请使用 rpm 代替。

$> rpmbuild --rebuild --clean MySQL-VERSION.src.rpm

结果是一个或多个二进制 RPM 软件包,您可以按照第 2.5.4 节,“使用 Oracle 的 RPM 软件包在 Linux 上安装 MySQL”中的说明安装。

从压缩的 tar 文件或 Zip 存档源代码分发的安装顺序与从通用二进制分发的安装顺序相似(见第 2.2 节,“使用通用二进制在 Unix/Linux 上安装 MySQL”),只是在所有平台上都使用它,并包括配置和编译分布的步骤。例如,在 Unix 上,从压缩的 tar 文件源代码分发的基本安装命令序列如下所示:

# Preconfiguration setup
$> groupadd mysql
$> useradd -r -g mysql -s /bin/false mysql
# Beginning of source-build specific instructions
$> tar zxvf mysql-VERSION.tar.gz
$> cd mysql-VERSION
$> mkdir bld
$> cd bld
$> cmake ..
$> make
$> make install
# End of source-build specific instructions
# Postinstallation setup
$> cd /usr/local/mysql
$> mkdir mysql-files
$> chown mysql:mysql mysql-files
$> chmod 750 mysql-files
$> bin/mysqld --initialize --user=mysql
$> bin/mysql_ssl_rsa_setup
$> bin/mysqld_safe --user=mysql &
# Next command is optional
$> cp support-files/mysql.server /etc/init.d/mysql.server

以下是源代码构建特定说明的详细版本。

Note

该过程不设置任何 MySQL 帐户密码。在完成该过程后,请继续执行第 2.9 节,“安装后设置和测试”中的安装后设置和测试。

执行预配置设置

在 Unix 上,设置拥有数据库目录的 mysql 用户和组,然后使用该用户和组来运行和执行 MySQL 服务器。详细信息,请参阅创建 mysql 用户和组。然后,以 mysql 用户身份执行以下步骤,除非另有说明。

获取和解压缩分布

选择要解压缩分布的目录,然后更改到该目录。

按照第 2.1.3 节,“如何获取 MySQL”中的说明获取分布文件。

将发行版解压缩到当前目录:

  • 要解压缩压缩的 tar 文件, tar 可以解压缩和解包发行版,如果它具有 z 选项支持:

    $> tar zxvf mysql-VERSION.tar.gz

    如果您的 tar 不具有 z 选项支持,使用 gunzip 解压缩发行版,然后使用 tar 解包:

    $> gunzip < mysql-VERSION.tar.gz | tar xvf -

    或者, CMake 可以解压缩和解包发行版:

    $> cmake -E tar zxvf mysql-VERSION.tar.gz
  • 要解压缩 Zip 存档,使用 WinZip 或其他可以读取 .zip 文件的工具。

解压缩发行版文件将创建一个名为 mysql-VERSION 的目录。

配置发行版

更改到解压缩发行版的顶级目录:

$> cd mysql-VERSION

在源树外构建,以保持树的干净。如果顶级源目录名为 mysql-src 在当前工作目录下,您可以在同级目录下构建一个名为 build 的目录。创建目录然后转到那里:

$> mkdir bld
$> cd bld

配置构建目录。最少配置命令不包括覆盖配置默认值的选项:

$> cmake ../mysql-src

构建目录不需要在源树外。在源树下构建目录,例如,在 mysql-src 目录下创建一个名为 build 的目录,然后转到那里:

$> mkdir build
$> cd build

配置构建目录。最少配置命令不包括覆盖配置默认值的选项:

$> cmake ..

如果您有多个源树在同一级别(例如,要构建多个 MySQL 版本),第二种策略可能是有利的。第一种策略将所有构建目录放在同一级别,需要您为每个选择唯一的名称。使用第二种策略,您可以在每个源树中使用相同的名称。

在 Windows 上,指定开发环境。例如,以下命令配置 MySQL 的 32 位或 64 位构建:

$> cmake .. -G "Visual Studio 12 2013"

$> cmake .. -G "Visual Studio 12 2013 Win64"

在 macOS 上,使用 Xcode IDE:

$> cmake .. -G Xcode

当您运行 CMake 时,您可能想要添加选项到命令行。以下是一些示例:

有关更多选项的列表,请参阅 第 2.8.7 节,“MySQL 源代码配置选项”

要列出配置选项,请使用以下命令:

$> cmake .. -L   # overview

$> cmake .. -LH  # overview with help text

$> cmake .. -LAH # all params with help text

$> ccmake ..     # interactive display

如果 CMake 失败,您可能需要重新配置通过运行它带有不同的选项。如果您重新配置,请注意以下:

  • 如果 CMake 在之前已经运行过,它可能会使用之前收集的信息。那信息存储在 CMakeCache.txt 中。当 CMake 启动时,它会查找该文件并读取其内容,如果它存在,假设信息仍然正确。那假设在重新配置时无效。

  • 每次您运行 CMake,您都需要重新运行 make 以重新编译。但是,您可能想要首先删除旧的对象文件,因为它们是使用不同的配置选项编译的。

要防止旧的对象文件或配置信息被使用,在 Unix 上,在重新运行 CMake 之前,在构建目录中运行以下命令:

$> make clean
$> rm CMakeCache.txt

或,在 Windows 上:

$> devenv MySQL.sln /clean
$> del CMakeCache.txt

在报告错误之前,请检查 MySQL 社区 Slack,并在 CMakeFiles 目录中查找有用的失败信息。要报告错误,请按照 第 1.5 节,“如何报告错误或问题” 中的说明进行操作。

构建分发

在 Unix 上:

$> make
$> make VERBOSE=1

第二个命令将 VERBOSE 设置为显示每个编译源的命令。

在使用 GNU make 的系统上,请使用 gmake 代替。

在 Windows 上:

$> devenv MySQL.sln /build RelWithDebInfo

如果您已经到了编译阶段,但分发无法构建,请参阅 第 2.8.8 节,“处理 MySQL 编译问题”,以获取帮助。如果这不能解决问题,请按照 第 1.5 节,“如何报告错误或问题” 中的说明报告错误。如果您已经安装了最新版本的所需工具,并且它们在处理我们的配置文件时崩溃,请报告该问题。但是,如果您收到 command not found 错误或类似问题,请不要报告它。相反,请确保所有所需工具都已安装,并且您的 PATH 变量已正确设置,以便 shell 可以找到它们。

安装分发

在 Unix 上:

$> make install

这将在配置的安装目录下安装文件(默认为 /usr/local/mysql)。您可能需要以 root 身份运行命令。

要安装到特定目录,请添加 DESTDIR 参数到命令行:

$> make install DESTDIR="/opt/mysql"

或者,生成安装包文件,可以在任何地方安装:

$> make package

这将生成一个或多个 .tar.gz 文件,可以像通用二进制分布包一样安装。请参阅 第 2.2 节,“使用通用二进制在 Unix/Linux 上安装 MySQL”。如果您使用 -DCPACK_MONOLITHIC_INSTALL=1 运行 CMake,则操作将生成单个文件。否则,将生成多个文件。

在 Windows 上,生成数据目录,然后创建 .zip 安装包:

$> devenv MySQL.sln /build RelWithDebInfo /project initial_database
$> devenv MySQL.sln /build RelWithDebInfo /project package

您可以在任何地方安装生成的 .zip 档案。请参阅 第 2.3.3 节,“手动配置”

执行后安装设置

安装过程的剩余部分涉及设置配置文件、创建核心数据库并启动 MySQL 服务器。有关说明,请参阅 第 2.9 节,“后安装设置和测试”

Note

MySQL 授权表中的账户最初没有密码。启动服务器后,您应该按照 第 2.9 节,“后安装设置和测试” 中的说明设置密码。