原文链接: https://dev.mysql.com/doc/refman/8.4/en/binary-installation.html
翻译后:
2.2 使用通用二进制文件在 Unix/Linux 上安装 MySQL
Oracle 提供了一系列 MySQL 二进制发行版。其中包括适用于多种平台的通用二进制发行版(以压缩的 tar文件(带有 .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.xzVERSION8.4.6OSpc-linux-i686winx64
MySQL 压缩tar文件 还有一个“最小安装”版本,适用于 Linux 通用二进制发行版,其文件名格式为 `.mysql.tar.gz` 。最小安装版本不包含调试二进制文件,并移除了调试符号,因此比常规二进制发行版小得多。如果您选择安装最小安装版本,请记住根据后续说明调整文件名格式。 mysql-VERSION-OS-GLIBCVER-ARCH-minimal.tar.xz
警告
-
如果您之前使用操作系统自带的软件包管理系统(例如 Yum 或 APT)安装过 MySQL,那么使用原生二进制文件安装时可能会遇到问题。请确保您已彻底卸载之前的 MySQL 安装(使用您的软件包管理系统),并且所有附加文件(例如旧版本的数据文件)也已删除。您还应该检查配置文件(例如 `/etc/mysql/` 或 `/etc/mysql/`
/etc/my.cnf目录/etc/mysql)并将其删除。有关使用官方 MySQL 软件包替换第三方软件包的信息,请参阅 “替换 MySQL 的原生第三方发行版” 或“使用 MySQL APT 存储库替换 MySQL 的原生发行版”。
-
MySQL 依赖于某个
libaio库。如果该库未在本地安装,数据目录初始化和后续服务器启动步骤将失败。如有必要,请使用相应的包管理器安装该库。例如,在基于 Yum 的系统中:yum search libaio # search for infoyum install libaio # install library
或者,在基于 APT 的系统中:
apt-cache search libaio # search for infoapt-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
-
如果
.debOracle(或您的 Linux 供应商)没有提供特定于您发行版的 RPM 包或文件,您可以尝试使用通用二进制文件。在某些情况下,由于库不兼容或其他问题,这些通用二进制文件可能无法在您的 Linux 系统上运行。在这种情况下,您可以尝试从源代码编译并安装 MySQL。有关更多信息和说明,请参阅 第 2.8 节“从源代码安装 MySQL”。
要安装压缩的tar文件二进制发行版,请将其解压到您选择的安装位置(通常为 /usr/local/bin /usr/local/mysql)。这将创建下表所示的目录。
表 2.3 通用 Unix/Linux 二进制包的 MySQL 安装布局
| 目录 | 目录内容 |
|---|---|
bin |
mysqld服务器、客户端和实用程序 |
docs |
MySQL 手册(Info 格式) |
man |
Unix 手册页 |
include |
包含(头)文件 |
lib |
图书馆 |
share |
数据库安装的错误消息、字典和 SQL |
support-files |
其他支持文件 |
mysqld二进制文件 的调试版本可通过mysqld-debug获取。要从源代码发行版编译您自己的 MySQL 调试版本,请使用相应的配置选项启用调试支持。请参阅 第 2.8 节“从源代码安装 MySQL”。
要安装和使用 MySQL 二进制发行版,命令序列如下所示:
groupadd mysqluseradd -r -g mysql -s /bin/false mysqlcd /usr/localtar xvf /path/to/mysql-VERSION-OS.tar.xzln -s full-path-to-mysql-VERSION-OS mysqlcd mysqlmkdir mysql-fileschown mysql:mysql mysql-fileschmod 750 mysql-filesbin/mysqld --initialize --user=mysqlbin/mysqld_safe --user=mysql & # Next command is optionalcp 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。您可能希望将用户和组命名为其他名称。如果是这样,请在以下说明中替换为相应的名称。在不同的 Unix/Linux 版本中, useradd和 groupaddmysql的语法可能略有不同,或者它们的名称可能不同,例如 adduser和addgroup。
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
由于该用户仅用于所有权目的,而非登录目的,因此useradd命令使用 ` -r--login` 和 `--login`-s /bin/false选项来创建不具有服务器主机登录权限的用户。如果您的useradd 命令不支持这些选项,请省略它们。
获取并拆封分发包
选择要将发行版解压到的目录,并切换到该目录。此处的示例将发行版解压到 `/usr/local/bin` 目录/usr/local。因此,本说明假设您拥有在 `/usr/local/bin` 目录下创建文件和目录的权限/usr/local。如果该目录受保护,则必须以 `/usr/local/bin` 身份执行安装 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,您的系统必须有 GNUXZ Utils来解压缩该发行版,并且需要一个合适的 tar 工具来解包它。
已知GNU tar可以正常工作。某些操作系统自带的标准 tar无法解压 MySQL 发行版中的长文件名。您应该下载并安装 GNU tar,或者如果系统预装了 GNU tar,则可以使用预装版本。通常,GNU tar 可以以gnutar、gtar或tar的形式存在于 GNU 或自由软件目录中,例如 ` /etc/tar`/usr/sfw/bin或 `/etc /tar`。您可以从http://www.gnu.org/software/tar//usr/local/bin下载GNU 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 节“安装后设置和测试”。