要从标准源代码发行版安装 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/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
构建目录不必在源代码树之外。例如,您可以在顶层源代码树下的名为build
的目录中进行构建。为此,从将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 以重新编译。但是,您可能希望先删除以前构建中的旧目标文件,因为它们是使用不同的配置选项编译的。
要防止使用旧目标文件或配置信息,请在重新运行 CMake 之前在 Unix 上的构建目录中运行以下命令
$> make clean
$> rm CMakeCache.txt
或者,在 Windows 上
$> devenv MySQL.sln /clean
$> del CMakeCache.txt
在询问 MySQL Community Slack 之前,请检查 CMakeFiles
目录中的文件,以获取有关故障的有用信息。要提交错误报告,请使用 第 1.6 节,“如何报告错误或问题” 中的说明。
在 Unix 上
$> make
$> make VERBOSE=1
第二个命令将 VERBOSE
设置为显示每个已编译源的命令。
在您使用 GNU make 并将其安装为 gmake 的系统上,请改用 gmake。
在 Windows 上
$> devenv MySQL.sln /build RelWithDebInfo
如果您已进入编译阶段,但发布版本无法构建,请参阅 第 2.8.8 节,“处理编译 MySQL 问题” 以获取帮助。如果这不能解决问题,请使用 第 1.6 节,“如何报告错误或问题” 中给出的说明将其输入我们的错误数据库。如果您已安装最新版本的必需工具,但它们在尝试处理我们的配置文件时崩溃,请也报告此问题。但是,如果您收到 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 节,“安装后设置和测试” 中的说明为它们设置密码。