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-i686
或 winx64
)。
还有一个“最小安装”版本的 MySQL 压缩的 tar 文件,用于 Linux 通用二进制分布式版本,名称形式为 mysql-
。最小安装分布式版本排除了调试二进制文件,并删除了调试符号,使其比常规二进制分布式版本小得多。如果您选择安装最小安装分布式版本,请记住在以下说明中调整文件名格式。VERSION
-OS
-GLIBCVER
-ARCH
-minimal.tar.xz
-
如果您之前使用操作系统的本机包管理系统(例如 Yum 或 APT)安装了 MySQL,您可能会在使用本机二进制文件安装时遇到问题。确保您之前的 MySQL 安装已经完全删除(使用包管理系统),并删除了任何其他文件,例如旧版本的数据文件。您还应该检查配置文件,例如
/etc/my.cnf
或/etc/mysql
目录,并删除它们。 -
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.gz
和mysql-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
该过程假设您拥有 root
(管理员)访问权限。如果需要,可以使用 sudo(Linux)或 pfexec(Solaris)命令来前缀每个命令。
目录 mysql-files
提供了一个方便的位置来用作系统变量 secure_file_priv
的值,该变量限制了导入和导出操作到特定目录。见 第 7.1.8 节,“服务器系统变量”。
以下是安装二进制分布式的详细描述。
创建 MySQL 用户和组
如果您的系统尚未拥有用于运行 mysqld 的用户和组,您可能需要创建它们。以下命令添加 mysql
组和 mysql
用户。您可能想将用户和组命名为其他名称,而不是 mysql
。如果是这样,请在以下说明中替换相应的名称。useradd 和 groupadd 的语法可能在不同的 Unix/Linux 版本上有所不同,或者它们可能具有不同的名称,例如 adduser 和 addgroup。
$> groupadd mysql
$> useradd -r -g mysql -s /bin/false mysql
因为用户仅用于所有权目的,而不是登录目的,因此 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,例如 gnutar、gtar 或 tar。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 节,“后安装设置和测试”。