## 2.2 使用通用二进制文件在 Unix/Linux 上安装 MySQL

[](<>)[](<>)

Oracle 提供了一组 MySQL 的二进制发行版。这些包括压缩形式的通用二进制分布**柏油**文件（带有`.tar.xz`扩展名）适用于许多平台，以及适用于选定平台的特定于平台的包格式的二进制文件。

本节介绍从压缩包安装 MySQL**柏油**Unix/Linux 平台上的文件二进制分发。有关侧重于 MySQL 安全功能的 Linux 通用二进制分发安装说明，请参阅[安全部署指南](https://dev.mysql.com/doc/mysql-secure-deployment-guide/8.0/en/).对于其他特定于平台的二进制包格式，请参阅本手册中其他特定于平台的部分。例如，对于 Windows 发行版，请参阅[第 2.3 节，“在 Microsoft Windows 上安装 MySQL”](windows-installation.html).看[第 2.1.3 节，“如何获取 MySQL”](getting-mysql.html)关于如何获取不同分发格式的 MySQL。

MySQL 压缩**柏油**文件二进制发行版具有以下形式的名称`mysql-*`版本`*-*`操作系统`*.tar.xz`， 在哪里`*`版本`*`是一个数字（例如，`8.0.28`）， 和*`操作系统`*指示分发所针对的操作系统类型（例如，`pc-linux-i686`要么`winx64`）。

还有一个“最小安装”版本的 MySQL 压缩包**柏油**Linux 通用二进制发行版的文件，其名称为`mysql-*`版本`*-*`操作系统`*-*`GLIBCVER`*-*`拱`*-minimal.tar.xz`.最小安装发行版不包括调试二进制文件，并且去除了调试符号，使其明显小于常规二进制发行版。如果您选择安装最小安装发行版，请记住根据以下说明调整文件名格式的差异。

警告

-   如果您之前使用操作系统的本机包管理系统（例如 Yum 或 APT）安装了 MySQL，则使用本机二进制文件安装时可能会遇到问题。确保您之前的 MySQL 安装已被完全删除（使用您的包管理系统），并且任何其他文件（例如旧版本的数据文件）也已被删除。您还应该检查配置文件，例如`/etc/my.cnf`或者`/etc/mysql`目录并删除它们。

    使用官方 MySQL 包替换第三方包的相关信息，请参见[APT 指南](/doc/mysql-apt-repo-quick-guide/en/)要么[百胜指南](https://dev.mysql.com/doc/refman/5.7/en/replace-third-party-yum.html).

-   MySQL 依赖于`libaio`图书馆。如果未在本地安装此库，则数据目录初始化和后续服务器启动步骤将失败。如有必要，请使用适当的包管理器安装它。例如，在基于 Yum 的系统上：

    [](<>)

    ```
    $> yum search libaio  # search for info
    $> yum install libaio # install library
    ```

    或者，在基于 APT 的系统上：

    ```
    $> apt-cache search libaio # search for info
    $> apt-get install libaio1 # install library
    ```

-   **甲骨文 Linux 8 / 红帽 8**(EL8)：这些平台默认不安装文件`/lib64/libtinfo.so.5`，这是 MySQL 客户端所需的**斌/mysql**用于包裹`mysql-VERSION-el7-x86_64.tar.gz`和`mysql-VERSION-linux-glibc2.12-x86_64.tar.xz`.要解决此问题，请安装`ncurses-compat-libs`包裹：

    ```
    $> yum install ncurses-compat-libs
    ```

    安装压缩包**柏油**文件二进制分发，在您选择的安装位置解压缩它（通常`/usr/local/mysql`）。这将创建下表中显示的目录。

[](<>)

**表 2.3 通用 Unix/Linux 二进制包的 MySQL 安装布局**

| 目录 | 目录内容 |
| --- | ---- |
| `斌` | [**mysqld**](mysqld.html)服务器、客户端和实用程序 |
| `文档` | 信息格式的 MySQL 手册 |
| `人` | Unix 手册页 |
| `包括` | 包含（头）文件 |
| `库` | 图书馆 |
| `分享` | 用于数据库安装的错误消息、字典和 SQL |
| `支持文件` | 其他支持文件 |

的调试版本[**mysqld**](mysqld.html)二进制可用作[**mysqld-调试**](mysqld.html).要从源代码分发编译您自己的 MySQL 调试版本，请使用适当的配置选项来启用调试支持。看[第 2.9 节，“从源代码安装 MySQL”](source-installation.html).

[](<>)

要安装和使用 MySQL 二进制发行版，命令序列如下所示：

```
$> groupadd mysql
$> useradd -r -g mysql -s /bin/false mysql
$> cd /usr/local
$> tar xvf /path/to/mysql-VERSION-OS.tar.xz
$> ln -s full-path-to-mysql-VERSION-OS mysql
$> cd 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
```

笔记

此过程假定您有`根`（管理员）访问您的系统。或者，您可以使用**须藤**(Linux) 或**执行程序**(Solaris) 命令。

这`mysql 文件`目录提供了一个方便的位置，可用作`secure_file_priv`系统变量，它将导入和导出操作限制到特定目录。看[第 5.1.8 节，“服务器系统变量”](server-system-variables.html).

下面是前面关于安装二进制发行版的描述的更详细版本。

### 创建一个mysql用户和组

如果您的系统还没有用于运行的用户和组[**mysqld**](mysqld.html)，您可能需要创建它们。以下命令添加`mysql`组和`mysql`用户。您可能想要调用用户并分组其他内容，而不是`mysql`.如果是这样，请在以下说明中替换适当的名称。的语法**用户添加**和**组添加**在不同版本的 Unix/Linux 上可能略有不同，或者它们可能有不同的名称，例如**添加用户**和**添加组**.

```
$> groupadd mysql
$> useradd -r -g mysql -s /bin/false mysql
```

笔记

因为用户只需要用于所有权目的，而不是登录目的，因此**用户添加**命令使用`-r`和`-s /bin/假`用于创建对您的服务器主机没有登录权限的用户的选项。如果您的**用户添加**不支持他们。

### 获取并解包分发

选择要在其中解压缩分发并更改位置的目录。此处的示例解压缩下的分布`/usr/本地`.因此，这些说明假定您有权在其中创建文件和目录`/usr/本地`.如果该目录受到保护，则必须执行安装`根`.

```
$> cd /usr/local
```

使用中的说明获取分发文件[第 2.1.3 节，“如何获取 MySQL”](getting-mysql.html).对于给定的版本，所有平台的二进制发行版都是从相同的 MySQL 源发行版构建的。

解压发行版，创建安装目录。**柏油**可以解压和解压发行版，如果它有`z`选项支持：

```
$> tar xvf /path/to/mysql-VERSION-OS.tar.xz
```

这**柏油**命令创建一个名为`mysql-*`版本`*-*`操作系统`*`.

从压缩文件安装 MySQL**柏油**文件二进制分发，你的系统必须有 GNU`XZ 实用程序`解压缩分布和合理的**柏油**打开包装。

笔记

MySQL Server 8.0.12 中压缩算法由 Gzip 改为 XZ；并且通用二进制文件的扩展名从 .tar.gz 更改为 .tar.xz。

GNU**柏油**已知工作。标准**柏油**某些操作系统提供的 MySQL 发行版中无法解压缩长文件名。您应该下载并安装 GNU**柏油**，或者如果可用，请使用预安装的 GNU tar 版本。通常这是可用的**格努塔尔**,**格塔尔**，或作为**柏油**在 GNU 或自由软件目录中，例如`/usr/sfw/bin`要么`/usr/local/bin`.GNU**柏油**可从<http://www.gnu.org/software/tar/>.

如果你的**柏油**不支持`xz`格式然后使用**xz**命令解包分发和**柏油**打开包装。替换前面的**柏油**使用以下替代命令解压缩和提取分发的命令：

```
$> xz -dc /path/to/mysql-VERSION-OS.tar.xz | tar x
```

接下来，创建一个指向安装目录的符号链接**柏油**：

```
$> ln -s full-path-to-mysql-VERSION-OS mysql
```

这`ln`命令创建到安装目录的符号链接。这使您可以更轻松地将其引用为`/usr/local/mysql`.为了避免在使用 MySQL 时总是输入客户端程序的路径名，可以添加`/usr/local/mysql/bin`目录到您的`小路`多变的：

```
$> export PATH=$PATH:/usr/local/mysql/bin
```

### 执行安装后设置

安装过程的其余部分包括设置分发所有权和访问权限、初始化数据目录、启动 MySQL 服务器和设置配置文件。有关说明，请参阅[第 2.10 节，“安装后设置和测试”](postinstallation.html).
