Bootstrap

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

Oracle 提供了一组 MySQL 二进制发行版。其中包括以压缩tar文件(带有扩展名的文件 ) 形式提供的 .tar.xz适用于多种平台的通用二进制发行版,以及以平台特定软件包格式提供的适用于特定平台的二进制文件。

本节介绍如何在 Unix/Linux 平台上从压缩的tar文件二进制发行版 安装 MySQL 。有关 Linux 通用二进制发行版安装说明(重点介绍 MySQL 安全功能),请参阅《 安全部署指南》。有关其他平台特定的二进制包格式,请参阅本手册中其他平台特定的章节。例如,对于 Windows 发行版,请参阅 第 2.3 节“在 Microsoft Windows 上安装 MySQL”。有关如何以不同的发行版格式获取 MySQL,请参阅 第 2.1.3 节“如何获取 MySQL”

MySQL 压缩tar文件二进制分发版的名称形式为 ,其中为数字(例如), 表示分发版所针对的操作系统类型(例如 或)。 mysql-VERSION-OS.tar.xzVERSION9.0.0OSpc-linux-i686winx64

对于 Linux 通用二进制发行版,MySQL 压缩tar文件 还有一个“最小安装”版本,其名称格式为 。最小安装发行版不包括调试二进制文件,并且删除了调试符号,因此比常规二进制发行版小得多。如果您选择安装最小安装发行版,请记住在后面的说明中调整文件名格式的差异。 mysql-VERSION-OS-GLIBCVER-ARCH-minimal.tar.xz

警告
  • 如果您之前使用操作系统原生包管理系统(如 Yum 或 APT)安装了 MySQL,则使用原生二进制文件安装时可能会遇到问题。请确保您之前的 MySQL 安装已完全删除(使用您的包管理系统),并且任何其他文件(如旧版本的数据文件)也已删除。您还应检查配置文件(如/etc/my.cnf 或/etc/mysql目录)并删除它们。

    有关使用官方 MySQL 软件包替换第三方软件包的信息,请参阅 替换 MySQL 的原生第三方发行版 或使用 MySQL APT 存储库替换 MySQL 的原生发行版

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

    <span style="background-color:#fefbf3"><span style="color:#555555"><span style="background-color:#f8f8f8"><span style="color:#000000"><code class="language-terminal"><span style="color:#a67f59">$> </span><em><span style="color:#0077aa">yum</span> search libaio</em>  <span style="color:slategray"># search for info</span>
    <span style="color:#a67f59">$> </span><em><span style="color:#0077aa">yum</span> install libaio</em> <span style="color:slategray"># install library</span></code></span></span></span></span>

    或者,在基于 APT 的系统上:

    <span style="background-color:#fefbf3"><span style="color:#555555"><span style="background-color:#f8f8f8"><span style="color:#000000"><code class="language-terminal"><span style="color:#a67f59">$> </span><em><span style="color:#0077aa">apt-cache</span> search libaio</em> <span style="color:slategray"># search for info</span>
    <span style="color:#a67f59">$> </span><em><span style="color:#0077aa">apt-get</span> install libaio1</em> <span style="color:slategray"># install library</span></code></span></span></span></span>
  • Oracle Linux 8 / Red Hat 8 (EL8):默认情况下,这些平台不会安装文件 ,而 MySQL 客户端bin/mysql/lib64/libtinfo.so.5需要来安装软件包 和 。要解决此问题,请安装 软件包: mysql-VERSION-el7-x86_64.tar.gzmysql-VERSION-linux-glibc2.12-x86_64.tar.xzncurses-compat-libs

    <span style="background-color:#fefbf3"><span style="color:#555555"><span style="background-color:#f8f8f8"><span style="color:#000000"><code class="language-terminal"><span style="color:#a67f59">$> </span><em><span style="color:#0077aa">yum</span> install ncurses-compat-libs</em></code></span></span></span></span>
  • .deb如果Oracle(或 Linux 供应商)未提供特定于您的发行版的 RPM 或文件,您可以尝试通用二进制文件。在某些情况下,由于库不兼容或其他问题,这些文件可能无法与您的 Linux 安装配合使用。在这种情况下,您可以尝试从源代码编译和安装 MySQL。有关更多信息和说明,请参见第 2.8 节“从源代码安装 MySQL”

要安装压缩的tar文件二进制分发版,请在您选择的安装位置(通常为/usr/local/mysql)解压它。这将创建下表中显示的目录。

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

目录目录内容
binmysqld服务器、客户端和实用程序
docsInfo 格式的 MySQL 手册
manUnix 手册页
include包含(头)文件
lib图书馆
share数据库安装的错误消息、字典和 SQL
support-files其他支持文件

mysqld二进制文件 的调试版本可用作mysqld-debug。要从源代码分发版编译您自己的 MySQL 调试版本,请使用适当的配置选项来启用调试支持。请参见 第 2.8 节“从源代码安装 MySQL”

要安装和使用 MySQL 二进制分发版,命令序列如下所示:

<span style="background-color:#ffffff"><span style="color:#555555"><span style="background-color:#f8f8f8"><span style="color:#000000"><code class="language-terminal"><span style="color:#a67f59">$> </span><span style="color:#0077aa">groupadd</span> mysql
<span style="color:#a67f59">$> </span><span style="color:#0077aa">useradd</span> <span style="color:#990055">-r</span> <span style="color:#990055">-g</span> mysql <span style="color:#990055">-s</span> /bin/false mysql
<span style="color:#a67f59">$> </span><span style="color:#0077aa">cd</span> /usr/local
<span style="color:#a67f59">$> </span><span style="color:#0077aa">tar</span> xvf <em>/path/to/mysql-VERSION-OS</em><span style="color:#999999">.</span>tar<span style="color:#999999">.</span>xz
<span style="color:#a67f59">$> </span><span style="color:#0077aa">ln</span> <span style="color:#990055">-s</span> <em>full-path-to-mysql-VERSION-OS</em> mysql
<span style="color:#a67f59">$> </span><span style="color:#0077aa">cd</span> mysql
<span style="color:#a67f59">$> </span><span style="color:#0077aa">mkdir</span> mysql-files
<span style="color:#a67f59">$> </span><span style="color:#0077aa">chown</span> mysql<span style="color:#999999">:</span>mysql mysql-files
<span style="color:#a67f59">$> </span><span style="color:#0077aa">chmod</span> 750 mysql-files
<span style="color:#a67f59">$> </span><span style="color:#0077aa">bin/mysqld</span> <span style="color:#990055">--initialize</span> <span style="color:#990055">--user</span><span style="color:#0077aa"><span style="color:#999999">=</span>mysql</span>
<span style="color:#a67f59">$> </span><span style="color:#0077aa">bin/mysqld_safe</span> <span style="color:#990055">--user</span><span style="color:#0077aa"><span style="color:#999999">=</span>mysql</span> &
<span style="color:slategray"># Next command is optional</span>
<span style="color:#a67f59">$> </span><span style="color:#0077aa">cp</span> support-files/mysql<span style="color:#999999">.</span>server /etc/init<span style="color:#999999">.</span>d/mysql<span style="color:#999999">.</span>server</code></span></span></span></span>
笔记

此过程假定您具有root 系统(管理员)访问权限。或者,您可以使用sudo (Linux) 或 pfexec (Solaris) 命令为每个命令添加前缀。

mysql-files目录提供了一个方便的位置,可用作 secure_file_priv系统变量的值,从而将导入和导出操作限制到特定目录。请参见 第 7.1.8 节“服务器系统变量”

下面是有关安装二进制分发版的更详细版本的描述。

创建 mysql 用户和组

如果您的系统还没有用于运行mysqld 的用户和组,您可能需要创建它们。以下命令添加mysql组和 mysql用户。您可能希望将用户和组命名为 而不是。如果是这样,请按照以下说明替换适当的名称。 useradd和 groupaddmysql的语法在不同版本的 Unix/Linux 上可能略有不同,或者它们可能具有不同的名称,例如 adduseraddgroup

<span style="background-color:#ffffff"><span style="color:#555555"><span style="background-color:#f8f8f8"><span style="color:#000000"><code class="language-terminal"><span style="color:#a67f59">$> </span><span style="color:#0077aa">groupadd</span> mysql
<span style="color:#a67f59">$> </span><span style="color:#0077aa">useradd</span> <span style="color:#990055">-r</span> <span style="color:#990055">-g</span> mysql <span style="color:#990055">-s</span> /bin/false mysql</code></span></span></span></span>
笔记

由于用户仅用于所有权目的,而不是登录目的,因此useradd命令使用 -r-s /bin/false选项来创建不具有服务器主机登录权限的用户。如果您的useradd不支持这些选项,请忽略这些选项。

获取并解压发行版

选择要解压分发版的目录,并将位置更改为该目录。此处的示例将分发版解压到 下/usr/local。因此,本说明假定您有权在 中创建文件和目录/usr/local。如果该目录受保护,则必须以 身份执行安装 root

<span style="background-color:#ffffff"><span style="color:#555555"><span style="background-color:#f8f8f8"><span style="color:#000000"><code class="language-terminal"><span style="color:#a67f59">$> </span><span style="color:#0077aa">cd</span> /usr/local</code></span></span></span></span>

使用2.1.3 节“如何获取 MySQL” 中的说明获取分发文件 。对于给定版本,所有平台的二进制分发版都是从相同的 MySQL 源分发版构建的。

解压发行版,这将创建安装目录。 tar如果有z选项支持,则可以解压并解压发行版:

<span style="background-color:#ffffff"><span style="color:#555555"><span style="background-color:#f8f8f8"><span style="color:#000000"><code class="language-terminal"><span style="color:#a67f59">$> </span><span style="color:#0077aa">tar</span> xvf <em>/path/to/mysql-VERSION-OS</em><span style="color:#999999">.</span>tar<span style="color:#999999">.</span>xz</code></span></span></span></span>

tar 命令创建一个名为 的目录 。 mysql-VERSION-OS

要从压缩的tar文件二进制分发版安装 MySQL,您的系统必须具有 GNUXZ Utils来解压缩分发版以及合理的 tar来对其进行解压。

已知GNU tar可以正常工作。某些操作系统提供的标准 tar无法解压 MySQL 发行版中的长文件名。您应该下载并安装 GNU tar ,或者如果可用,使用 GNU tar 的预安装版本。通常,它以gnutargtar或GNU 或自由软件目录中的tar形式提供,例如/usr/sfw/bin或 /usr/local/bin。GNU tar可从http://www.gnu.org/software/tar/获得。

如果您的tar不支持该 xz格式,则使用xz 命令解压发行版,然后使用tar解压。使用以下替代命令 替换前面的tar命令以解压并提取发行版:

<span style="background-color:#ffffff"><span style="color:#555555"><span style="background-color:#f8f8f8"><span style="color:#000000"><code class="language-terminal"><span style="color:#a67f59">$> </span><span style="color:#0077aa">xz</span> <span style="color:#990055">-dc</span> <em>/path/to/mysql-VERSION-OS</em><span style="color:#999999">.</span>tar<span style="color:#999999">.</span>xz | tar x</code></span></span></span></span>

接下来,创建指向tar 创建的安装目录的符号链接:

<span style="background-color:#ffffff"><span style="color:#555555"><span style="background-color:#f8f8f8"><span style="color:#000000"><code class="language-terminal"><span style="color:#a67f59">$> </span><span style="color:#0077aa">ln</span> <span style="color:#990055">-s</span> <em>full-path-to-mysql-VERSION-OS</em> mysql</code></span></span></span></span>

ln命令创建指向安装目录的符号链接。这样,您可以更轻松地将其引用为/usr/local/mysql。为了避免在使用 MySQL 时总是键入客户端程序的路径名,您可以将目录添加到变量/usr/local/mysql/bin 中PATH

<span style="background-color:#ffffff"><span style="color:#555555"><span style="background-color:#f8f8f8"><span style="color:#000000"><code class="language-terminal"><span style="color:#a67f59">$> </span><span style="color:#0077aa">export</span> PATH<span style="color:#0077aa"><span style="color:#999999">=</span>$PATH:/usr/local/mysql/bin</span></code></span></span></span></span>

执行安装后设置

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

;