要从标准源代码分发安装 MySQL:
-
验证您的系统是否满足第 2.8.2 节,“源代码安装前提条件”中列出的工具要求。
-
按照第 2.1.3 节,“如何获取 MySQL”中的说明获取分布文件。
-
按照本节中的说明配置、构建和安装分布。
-
按照第 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
以下是源代码构建特定说明的详细版本。
该过程不设置任何 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 时,您可能想要添加选项到命令行。以下是一些示例:
-
-DBUILD_CONFIG=mysql_release
:使用 Oracle 用于生产官方 MySQL 发布的相同构建选项配置源代码。 -
-DCMAKE_INSTALL_PREFIX=
:配置发行版以在特定位置安装。dir_name
-
-DCPACK_MONOLITHIC_INSTALL=1
:使 make package 生成单个安装文件,而不是多个文件。 -
-DWITH_DEBUG=1
:使用调试支持构建发行版。
有关更多选项的列表,请参阅 第 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 节,“后安装设置和测试”。
MySQL 授权表中的账户最初没有密码。启动服务器后,您应该按照 第 2.9 节,“后安装设置和测试” 中的说明设置密码。