Documentation Home
MySQL 8.3 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 40.8Mb
PDF (A4) - 40.9Mb
Man Pages (TGZ) - 294.0Kb
Man Pages (Zip) - 409.0Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb
Excerpts from this Manual

MySQL 8.3 Reference Manual  /  Installing MySQL  /  Installing MySQL on Unix/Linux Using Generic Binaries

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

Oracle 提供了一组 MySQL 的二进制分布式版本。这些版本包括通用二进制分布式版本,以压缩的 tar 文件(具有 .tar.xz 扩展名)的形式,适用于多个平台,以及特定平台的二进制包格式。

本节涵盖了在 Unix/Linux 平台上从压缩的 tar 文件二进制分布式版本安装 MySQL 的过程。对于 Linux 通用二进制分布式版本的安装说明,着重于 MySQL 安全功能,请参阅 安全部署指南。对于其他特定平台的二进制包格式,请参阅本手册中的其他平台特定部分。例如,对于 Windows 分布式版本,请参阅 第 2.3 节,“在 Microsoft Windows 上安装 MySQL”。请参阅 第 2.1.3 节,“如何获取 MySQL”,了解如何以不同的分布式格式获取 MySQL。

MySQL 压缩的 tar 文件二进制分布式版本的名称形式为 mysql-VERSION-OS.tar.xz,其中 VERSION 是一个数字(例如,8.3.0),OS 表示目标操作系统的类型(例如,pc-linux-i686winx64)。

还有一个“最小安装”版本的 MySQL 压缩的 tar 文件,用于 Linux 通用二进制分布式版本,名称形式为 mysql-VERSION-OS-GLIBCVER-ARCH-minimal.tar.xz。最小安装分布式版本排除了调试二进制文件,并删除了调试符号,使其比常规二进制分布式版本小得多。如果您选择安装最小安装分布式版本,请记住在以下说明中调整文件名格式。

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

    有关用官方 MySQL 包替换第三方包的信息,请参阅相关的 APT 指南Yum 指南

  • 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
  • Oracle Linux 8 / Red Hat 8 (EL8):这些平台默认不安装文件 /lib64/libtinfo.so.5,该文件是 MySQL 客户端 bin/mysql 对于包 mysql-VERSION-el7-x86_64.tar.gzmysql-VERSION-linux-glibc2.12-x86_64.tar.xz 所需的。要解决这个问题,请安装 ncurses-compat-libs 包:

    $> yum install ncurses-compat-libs

要安装压缩的 tar 文件二进制分布式,请在选择的安装位置(通常是 /usr/local/mysql)解压缩它。这将创建以下表格所示的目录。

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

目录 目录内容
bin mysqld 服务器、客户端和实用程序
docs MySQL 手册 Info 格式
man Unix 手册页
include 包含(头)文件
lib
share 错误消息、词典和数据库安装 SQL
support-files 杂项支持文件

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

要安装和使用 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
Note

该过程假设您拥有 root(管理员)访问权限。如果需要,可以使用 sudo(Linux)或 pfexec(Solaris)命令来前缀每个命令。

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

以下是安装二进制分布式的详细描述。

创建 MySQL 用户和组

如果您的系统尚未拥有用于运行 mysqld 的用户和组,您可能需要创建它们。以下命令添加 mysql 组和 mysql 用户。您可能想将用户和组命名为其他名称,而不是 mysql。如果是这样,请在以下说明中替换相应的名称。useraddgroupadd 的语法可能在不同的 Unix/Linux 版本上有所不同,或者它们可能具有不同的名称,例如 adduseraddgroup

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

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

获取和解压缩分布

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

$> cd /usr/local

按照 第 2.1.3 节“如何获取 MySQL” 中的说明获取分布文件。对于给定的版本,所有平台的二进制分布都是从同一个 MySQL 源分布创建的。

解压缩分布,这将创建安装目录。tar 可以解压缩和解压缩分布,如果它具有 z 选项支持:

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

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

要从压缩的 tar 文件二进制分布安装 MySQL,您的系统必须具有 GNU XZ Utils 以解压缩分布和一个合理的 tar 以解压缩它。

GNU tar 已知可以工作。某些操作系统提供的标准 tar 无法解压缩 MySQL 分布中的长文件名。您应该下载并安装 GNU tar,或者如果可用,请使用预安装的 GNU tar 版本。通常,这可以在 /usr/sfw/bin/usr/local/bin 中找到 GNU tar,例如 gnutargtartar。GNU tar 可以从 http://www.gnu.org/software/tar/ 下载。

如果您的 tar 不支持 xz 格式,那么请使用 xz 命令来解压缩发行版,然后使用 tar 来解压缩它。将前面的 tar 命令替换为以下备用命令,以解压缩和提取发行版:

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

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

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

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

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

执行后安装设置

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