Documentation Home
MySQL 8.4 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 39.8Mb
PDF (A4) - 39.9Mb
Man Pages (TGZ) - 257.9Kb
Man Pages (Zip) - 364.9Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


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

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

Oracle 提供了 MySQL 的一组二进制分布。这些包括多个平台的压缩tar 文件(扩展名为.tar.xz)和选择平台的包文件。

本节涵盖了从 Unix/Linux 平台上安装 MySQL 的压缩tar 文件二进制分布。关于 Linux 通用二进制分发安装指南,带着 MySQL 安全特性的,请参阅安全部署指南。对于其他平台专门的包文件格式,见本手册中的其他平台专门节,例如,关于 Windows 分发,请参阅第 2.3 节,“在 Microsoft Windows 安装 MySQL”。了解如何以不同分发格式获取 MySQL 的详细信息,见第 2.1.3 节,“获取 MySQL”

MySQL 压缩tar 文件二进制发行版的名称形式为 mysql-VERSION-OS.tar.xz,其中 VERSION 是一个数字(例如,8.4.0),OS 表示该发行版适用于的操作系统类型(例如,pc-linux-i686winx64)。

还有一种最小安装 版本的 MySQL 压缩tar 文件,用于 Linux 通用二进制发行版,名称形式为 mysql-VERSION-OS-GLIBCVER-ARCH-minimal.tar.xz。最小安装发行版排除了调试二进制文件和符号,大小比常规二进制发行版要小很多。如果您选择安装最小安装发行版,请记住在后续指令中调整文件名格式。

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

    关于将第三方软件包替换为官方 MySQL 软件包的信息,请参阅替换 MySQL 的原生第三方分布式版本使用 MySQL APT 仓库替换原生分布式版本

  • 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.5bin/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 通用 Unix/Linux 二进制包 MySQL 安装布局

Directory Contents of Directory
bin mysqld 服务、客户端和实用程序
docs MySQL 手册(Info 格式)
man Unix 手册页
include 包含文件(头文件)
lib 库文件
share 错误信息、词典和数据库安装 SQL
support-files 其他支持文件

调试版本的 mysqld 可以作为 mysqld-debug。要从源代码分布编译自己的调试版本,使用相应的配置选项来启用调试支持。见 第 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/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节,“服务器系统变量”

安装二进制分布的详细版本跟随着前面的描述。

如果您的系统尚未拥有用于运行mysqld的用户和组,您可能需要创建它们。以下命令添加 mysql 组和 mysql 用户。您可能想将用户和组命名为其他名称,例如代替 mysql。如果是这样, substitute 适当的名称在以下指令中。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。如果可用,这通常位于 GNU 或自由软件目录,如 /usr/sfw/bin/usr/local/bin。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节,“安装后设置和测试”