### 2.9.4 使用标准源分发安装 MySQL 要从标准源发行版安装 MySQL: 1. 验证您的系统是否满足列出的工具要求[第 2.9.2 节,“源安装先决条件”](source-installation-prerequisites.html). 2. 使用中的说明获取分发文件[第 2.1.3 节,“如何获取 MySQL”](getting-mysql.html). 3. 使用本节中的说明配置、构建和安装分发。 4. 使用中的说明执行安装后过程[第 2.10 节,“安装后设置和测试”](postinstallation.html). MySQL 使用**制作**作为所有平台上的构建框架。此处给出的说明应该使您能够进行工作安装。有关使用的更多信息**制作**要构建 MySQL,请参阅[如何使用 CMake 构建 MySQL 服务器](https://dev.mysql.com/doc/internals/en/cmake.html). 如果您从源 RPM 开始,请使用以下命令创建可以安装的二进制 RPM。如果你没有**rpmbuild**, 采用**转数**反而。 ``` $> rpmbuild --rebuild --clean MySQL-VERSION.src.rpm ``` 结果是您安装的一个或多个二进制 RPM 软件包,如[第 2.5.4 节,“使用 Oracle 的 RPM 包在 Linux 上安装 MySQL”](linux-installation-rpm.html). 从压缩安装的顺序**柏油**文件或 Zip 存档源分发类似于从通用二进制分发安装的过程(请参阅[第 2.2 节,“使用通用二进制文件在 Unix/Linux 上安装 MySQL”](binary-installation.html)),除了它在所有平台上都使用并且包括配置和编译分发的步骤。例如,使用压缩**柏油**Unix 上的文件源分发,基本的安装命令序列如下所示: ``` # 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.10 节,“安装后设置和测试”](postinstallation.html), 用于安装后设置和测试。 - [执行预配置设置](installing-source-distribution.html#installing-source-distribution-preconfiguration) - [获取并解包分发](installing-source-distribution.html#installing-source-distribution-obtain-distribution) - [配置分发](installing-source-distribution.html#installing-source-distribution-configure-distribution) - [构建分布](installing-source-distribution.html#installing-source-distribution-build-distribution) - [安装发行版](installing-source-distribution.html#installing-source-distribution-install-distribution) - [执行安装后设置](installing-source-distribution.html#installing-source-distribution-postinstallation) #### 执行预配置设置 在 Unix 上,设置`mysql`用于运行和执行 MySQL 服务器并拥有数据库目录的用户和组。有关详细信息,请参阅[创建一个mysql用户和组](binary-installation.html#binary-installation-createsysuser).然后执行以下步骤作为`mysql`用户,除非另有说明。 #### 获取并解包分发 选择要在其中解压缩分发并更改位置的目录。 使用中的说明获取分发文件[第 2.1.3 节,“如何获取 MySQL”](getting-mysql.html). 将发行版解压到当前目录: - 解压缩压缩包**柏油**文件,**柏油**可以解压和解压发行版,如果它有`z`选项支持: ``` $> tar zxvf mysql-VERSION.tar.gz ``` 如果你的**柏油**不具有`z`选项支持,使用**枪弹**解包分发和**柏油**解压它: ``` $> gunzip < mysql-VERSION.tar.gz | tar xvf - ``` 或者,**制作**可以解压和解压发行版: ``` $> cmake -E tar zxvf mysql-VERSION.tar.gz ``` - 要解压 Zip 存档,请使用**WinZip**或其他可以阅读的工具`。压缩`文件。 解压分发文件会创建一个名为`mysql-*`版本`*`. #### 配置分发 将位置更改为解压缩发行版的顶级目录: ``` $> cd mysql-VERSION ``` 在源树之外构建以保持树清洁。如果顶级源目录被命名`mysql-src`在您当前的工作目录下,您可以构建一个名为`盲人`在同一级别。创建目录并去那里: ``` $> mkdir bld $> cd bld ``` 配置构建目录。最小配置命令不包括覆盖配置默认值的选项: ``` $> cmake ../mysql-src ``` 构建目录不必位于源代码树之外。例如,您可以在一个名为的目录中构建`盲人`在顶级源代码树下。为此,从`mysql-src`作为您当前的工作目录,创建目录`盲人`然后去那里: ``` $> mkdir bld $> cd bld ``` 配置构建目录。最小配置命令不包括覆盖配置默认值的选项: ``` $> cmake .. ``` 如果您在同一级别有多个源代码树(例如,要构建多个版本的 MySQL),则第二种策略可能更有利。第一个策略将所有构建目录放在同一级别,这要求您为每个目录选择一个唯一的名称。使用第二种策略,您可以为每个源代码树中的构建目录使用相同的名称。以下说明采用第二种策略。 在 Windows 上,指定开发环境。例如,以下命令分别为 32 位或 64 位构建配置 MySQL: ``` $> cmake .. -G "Visual Studio 12 2013" $> cmake .. -G "Visual Studio 12 2013 Win64" ``` 在 macOS 上,要使用 Xcode IDE: ``` $> cmake .. -G Xcode ``` 当你跑**制作**,您可能希望在命令行中添加选项。这里有些例子: - [`-DBUILD_CONFIG=mysql_release`](source-configuration-options.html#option_cmake_build_config):使用 Oracle 使用的相同构建选项配置源代码,以生成官方 MySQL 版本的二进制发行版。 - [`-DCMAKE_INSTALL_PREFIX=*`目录名`*`](source-configuration-options.html#option_cmake_cmake_install_prefix):配置发行版以在特定位置安装。 - [`-DCPACK_MONOLITHIC_INSTALL=1`](source-configuration-options.html#option_cmake_cpack_monolithic_install): 原因**制作包**生成单个安装文件而不是多个文件。 - [`-DWITH_DEBUG=1`](source-configuration-options.html#option_cmake_with_debug):构建带有调试支持的发行版。 有关更广泛的选项列表,请参阅[第 2.9.7 节,“MySQL 源配置选项”](source-configuration-options.html). 要列出配置选项,请使用以下命令之一: ``` $> cmake .. -L # overview $> cmake .. -LH # overview with help text $> cmake .. -LAH # all params with help text $> ccmake .. # interactive display ``` 如果**制作**失败,您可能需要通过使用不同的选项再次运行它来重新配置。如果您重新配置,请注意以下事项: [](<>)[](<>) - 如果**制作**在之前运行之后运行,它可以使用在之前调用期间收集的信息。此信息存储在`CMakeCache.txt`.什么时候**制作**启动时,它会查找该文件并读取其内容(如果存在),假设信息仍然正确。重新配置时,该假设无效。 - 每次跑步**制作**,你必须跑**制作**再次重新编译。但是,您可能希望首先从以前的构建中删除旧的目标文件,因为它们是使用不同的配置选项编译的。 为防止使用旧的目标文件或配置信息,请在 Unix 上的构建目录中运行这些命令,然后再重新运行**制作**: ``` $> make clean $> rm CMakeCache.txt ``` 或者,在 Windows 上: ``` $> devenv MySQL.sln /clean $> del CMakeCache.txt ``` 在询问之前[MySQL 社区松弛](https://mysqlcommunity.slack.com/), 检查文件中的`CMake 文件`目录以获取有关失败的有用信息。要提交错误报告,请使用中的说明[第 1.6 节,“如何报告错误或问题”](bug-reports.html). #### 构建分布 在 Unix 上: ``` $> make $> make VERBOSE=1 ``` 第二条命令集`详细`显示每个编译源的命令。 采用**制作**而不是在您使用 GNU 的系统上**制作**它已安装为**制作**. 在 Windows 上: ``` $> devenv MySQL.sln /build RelWithDebInfo ``` 如果您已进入编译阶段,但未构建发行版,请参阅[第 2.9.8 节,“处理编译 MySQL 的问题”](compilation-problems.html), 求助。如果这不能解决问题,请使用中给出的说明将其输入到我们的错误数据库中[第 1.6 节,“如何报告错误或问题”](bug-reports.html).如果您安装了所需工具的最新版本,并且在尝试处理我们的配置文件时崩溃,请同时报告。但是,如果你得到一个`找不到命令`所需工具的错误或类似问题,请勿报告。相反,请确保安装了所有必需的工具,并且您的`小路`变量设置正确,以便您的 shell 可以找到它们。 #### 安装发行版 在 Unix 上: ``` $> make install ``` 这会将文件安装在配置的安装目录下(默认情况下,`/usr/local/mysql`)。您可能需要将命令运行为`根`. 要安装在特定目录中,请添加`目的地`命令行参数: ``` $> make install DESTDIR="/opt/mysql" ``` 或者,生成可以安装在您喜欢的位置的安装包文件: ``` $> make package ``` 此操作产生一个或多个`.tar.gz`可以像通用二进制分发包一样安装的文件。看[第 2.2 节,“使用通用二进制文件在 Unix/Linux 上安装 MySQL”](binary-installation.html).如果你跑**制作**和[`-DCPACK_MONOLITHIC_INSTALL=1`](source-configuration-options.html#option_cmake_cpack_monolithic_install),该操作生成单个文件。否则,它会生成多个文件。 在 Windows 上,生成数据目录,然后创建一个`。压缩`归档安装包: ``` $> devenv MySQL.sln /build RelWithDebInfo /project initial_database $> devenv MySQL.sln /build RelWithDebInfo /project package ``` 您可以安装生成的`。压缩`存档在你喜欢的地方。看[第 2.3.4 节,“在 Microsoft Windows 上使用`没有安装`压缩档案”](windows-install-archive.html). #### 执行安装后设置 安装过程的其余部分包括设置配置文件、创建核心数据库和启动 MySQL 服务器。有关说明,请参阅[第 2.10 节,“安装后设置和测试”](postinstallation.html). 笔记 MySQL 授权表中列出的帐户最初没有密码。启动服务器后,您应该使用中的说明为它们设置密码[第 2.10 节,“安装后设置和测试”](postinstallation.html).