文档首页
MySQL 8.4 参考手册
相关文档 下载本手册
PDF (US Ltr) - 39.9Mb
PDF (A4) - 40.0Mb
手册页 (TGZ) - 258.5Kb
手册页 (Zip) - 365.5Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 参考手册  /  ...  /  使用 MySQL Yum 仓库在 Linux 上安装 MySQL

2.5.1 使用 MySQL Yum 仓库在 Linux 上安装 MySQL

用于 Oracle Linux、Red Hat Enterprise Linux、CentOS 和 Fedora 的 MySQL Yum 仓库 提供了用于安装 MySQL 服务器、客户端、MySQL Workbench、MySQL Utilities、MySQL Router、MySQL Shell、Connector/ODBC、Connector/Python 等等的 RPM 包(并非所有包都适用于所有发行版;有关详细信息,请参阅 使用 Yum 安装其他 MySQL 产品和组件)。

开始之前

作为流行的开源软件,MySQL(以其原始形式或重新打包的形式)广泛安装在许多来自不同来源的系统上,包括不同的软件下载网站、软件仓库等等。以下说明假定 MySQL 尚未使用第三方分发的 RPM 包安装在您的系统上;如果不是这种情况,请按照 替换本机第三方 MySQL 发行版 中提供的说明进行操作。

注意

仓库设置 RPM 文件名以 mysql84 开头,它描述了默认情况下启用的 MySQL 系列。在本例中,MySQL 8.4 LTS 子仓库默认情况下处于启用状态。它还包含其他子仓库版本,例如 MySQL 8.0 和 MySQL Innovation 系列,它们默认情况下处于禁用状态。

全新安装 MySQL 的步骤

按照以下步骤选择和安装最新的 MySQL 产品

  1. 添加 MySQL Yum 仓库

    将 MySQL Yum 仓库添加到系统的仓库列表中。这通常是一次性操作,通过安装 MySQL 提供的 RPM 来执行。请按照以下步骤操作

    1. 从 MySQL Yum 仓库页面(https://dev.mysqlserver.cn/downloads/repo/yum/)下载它,该页面位于 MySQL 开发者专区。

    2. 选择并下载适合您平台的发行版包。

    3. 安装下载的发行版包。包文件格式为

      mysql84-community-release-{platform}-{version-number}.noarch.rpm
      • mysql84: 表示默认情况下启用的 MySQL 版本。在本例中,MySQL 8.4 默认情况下处于启用状态,MySQL 8.0 和 MySQL Innovation 系列也可用,但默认情况下处于禁用状态。

      • {platform}: 平台代码,例如 el7、el8、el9、fc38、fc39 或 fc40。'el' 代表 Enterprise Linux,'fc' 代表 Fedora,以平台的基本版本号结尾。

      • {version-number}: MySQL 仓库配置 RPM 的版本,因为它们偶尔会收到更新。

      安装您为系统下载的 RPM,例如

      $> sudo yum localinstall mysql84-community-release-{platform}-{version-number}.noarch.rpm

      安装命令将 MySQL Yum 仓库添加到系统的仓库列表中,并下载 GnuPG 密钥以检查软件包的完整性。有关 GnuPG 密钥检查的详细信息,请参阅 第 2.1.4.2 节,“使用 GnuPG 进行签名检查”

      您可以通过以下命令检查 MySQL Yum 仓库是否已成功添加并启用(对于支持 dnf 的系统,请在命令中将 yum 替换为 dnf

      $> yum repolist enabled | grep mysql.*-community

      示例输出

      mysql-8.4-lts-community               MySQL 8.4 LTS Community Server
      mysql-tools-8.4-lts-community            MySQL Tools 8.4 LTS Community

      这也表明最新的 LTS MySQL 版本默认情况下处于启用状态。以下将介绍选择不同发行版系列的方法,例如创新轨迹(当前为 9.0)或之前的系列(例如 MySQL 8.0)。

    注意

    在系统上启用 MySQL Yum 仓库后,任何由 yum update 命令(或支持 dnf 的系统的 dnf upgrade 命令)执行的系统范围内的更新都会升级系统上的 MySQL 包,并替换任何本机第三方包(如果 Yum 在 MySQL Yum 仓库中找到了替换包);有关这可能对系统的一些影响的讨论,请参阅 第 3.8 节,“使用 MySQL Yum 仓库升级 MySQL”,有关升级共享客户端库的讨论,请参阅 升级共享客户端库

  2. 选择发行版系列

    使用 MySQL Yum 仓库时,最新的错误修复系列(当前为 MySQL 8.4)默认情况下被选中用于安装。如果您想要这个,您可以跳到下一步 安装 MySQL

    在 MySQL Yum 仓库中,每个 MySQL Community Server 发行版系列都托管在不同的子仓库中。最新 LTS 系列(当前为 MySQL 8.4)的子仓库默认情况下处于启用状态,所有其他系列的子仓库(例如 MySQL 8.0 和 MySQL Innovation 系列)默认情况下处于禁用状态。使用以下命令查看所有可用的 MySQL 相关子仓库(对于支持 dnf 的系统,请在命令中将 yum 替换为 dnf

    $> yum repolist all | grep mysql

    示例输出

    mysql-connectors-community                 MySQL Connectors Community   enabled
    mysql-tools-8.4-lts-community               MySQL Tools 8.4 LTS Community        enabled
    mysql-tools-community                      MySQL Tools Community        disabled
    mysql-tools-innovation-community           MySQL Tools Innovation Commu disabled
    mysql-innovation-community                 MySQL Innovation Release Com disabled
    mysql-8.4-lts-community                          MySQL 8.4 Community LTS Server   enabled
    mysql-8.4-lts-community-debuginfo                MySQL 8.4 Community LTS Server - disabled
    mysql-8.4-lts-community-source                   MySQL 8.4 Community LTS Server - disabled
    mysql80-community                        MySQL 8.0 Community Server - disabled
    mysql80-community-debuginfo              MySQL 8.0 Community Server - disabled
    mysql80-community-source                 MySQL 8.0 Community Server - disabled

    要从除最新 LTS 系列之外的特定系列安装最新发行版,请在运行安装命令之前,禁用最新 LTS 系列的错误修复子仓库并启用特定系列的子仓库。如果您的平台支持 yum-config-managerdnf config-manager 命令,您可以通过发出以下命令来禁用 8.4 系列的子仓库并启用 8.0 系列的子仓库

    $> sudo yum-config-manager --disable mysql-8.4-lts-community
    $> sudo yum-config-manager --enable  mysql80-community

    对于支持 dnf 的平台

    $> sudo dnf config-manager --disable mysql-8.4-lts-community
    $> sudo dnf config-manager --enable mysql80-community

    除了使用 config-manager 命令外,您还可以通过切换 enabled 选项来手动编辑 /etc/yum.repos.d/mysql-community.repo 文件。例如,EL8 的典型默认条目

    [mysql-8.4-lts-community]
    name=MySQL 8.4 LTS Community Server
    baseurl=http://repo.mysql.com/yum/mysql-8.4-community/el/8/$basearch/
    enabled=1
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2023

    找到要配置的子仓库的条目并编辑 enabled 选项。指定 enabled=0 禁用子仓库或 enabled=1 启用子仓库。例如,要从 MySQL 创新轨迹安装,请确保 MySQL 8.4 子仓库条目的 enabled=0,并且创新条目的 enabled=1

    [mysql80-community]
    name=MySQL 8.0 Community Server
    baseurl=http://repo.mysql.com/yum/mysql-8.0-community/el/8/$basearch
    enabled=1
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2023

    您应该始终只为一个发行系列启用子仓库。

    通过运行以下命令并检查其输出,验证是否已正确启用和禁用子仓库(对于支持 dnf 的系统,请将命令中的 yum 替换为 dnf)。

    $> yum repolist enabled | grep mysql
  3. 禁用默认的 MySQL 模块

    (仅 EL8 系统) 基于 EL8 的系统,例如 RHEL8 和 Oracle Linux 8,默认情况下启用了 MySQL 模块。除非禁用此模块,否则它会屏蔽 MySQL 仓库提供的软件包。要禁用包含的模块并使 MySQL 仓库软件包可见,请使用以下命令(对于支持 dnf 的系统,请将命令中的 yum 替换为 dnf)。

    $> sudo yum module disable mysql
  4. 安装 MySQL

    使用以下命令安装 MySQL(对于支持 dnf 的系统,请将命令中的 yum 替换为 dnf)。

    $> sudo yum install mysql-community-server

    这将安装 MySQL 服务器的软件包 (mysql-community-server),以及运行服务器所需的组件软件包,包括客户端软件包 (mysql-community-client)、客户端和服务器的通用错误消息和字符集 (mysql-community-common) 以及共享客户端库 (mysql-community-libs)。

  5. 启动 MySQL 服务器

    使用以下命令启动 MySQL 服务器。

    $> systemctl start mysqld

    您可以使用以下命令检查 MySQL 服务器的状态。

    $> systemctl status mysqld

如果操作系统启用了 systemd,则应使用标准的 systemctl(或者,使用参数反转的 service)命令,例如 stopstartstatusrestart 来管理 MySQL 服务器服务。默认情况下,mysqld 服务已启用,并且会在系统重启时启动。有关更多信息,请参阅 第 2.5.9 节,“使用 systemd 管理 MySQL 服务器”

在服务器的首次启动时,如果服务器的数据目录为空,将会发生以下情况。

  • 服务器将被初始化。

  • SSL 证书和密钥文件将在数据目录中生成。

  • validate_password 将被安装并启用。

  • 将创建一个超级用户帐户 'root'@'localhost。超级用户的密码将被设置并存储在错误日志文件中。要查看它,请使用以下命令。

    $> sudo grep 'temporary password' /var/log/mysqld.log

    尽快更改 root 密码,方法是使用生成的临时密码登录并为超级用户帐户设置自定义密码。

    $> mysql -uroot -p
    mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
    注意

    validate_password 默认情况下已安装。由 validate_password 实施的默认密码策略要求密码至少包含一个大写字母、一个小写字母、一个数字和一个特殊字符,并且总密码长度至少为 8 个字符。

有关安装后过程的更多信息,请参阅 第 2.9 节,“安装后设置和测试”

注意

EL7 基平台的兼容性信息: 来自平台本机软件仓库的以下 RPM 软件包与安装 MySQL 服务器的 MySQL Yum 仓库中的软件包不兼容。安装了使用 MySQL Yum 仓库安装的 MySQL 后,您将无法安装这些软件包(反之亦然)。

  • akonadi-mysql

使用 Yum 安装其他 MySQL 产品和组件

您可以使用 Yum 安装和管理 MySQL 的各个组件。其中一些组件托管在 MySQL Yum 仓库的子仓库中:例如,MySQL 连接器位于 MySQL 连接器社区子仓库中,MySQL Workbench 位于 MySQL 工具社区中。您可以使用以下命令列出从 MySQL Yum 仓库到您的平台的所有可用 MySQL 组件的软件包(对于支持 dnf 的系统,请将命令中的 yum 替换为 dnf)。

$> sudo yum --disablerepo=\* --enablerepo='mysql*-community*' list available

使用以下命令安装您选择的任何软件包,将 package-name 替换为软件包的名称(对于支持 dnf 的系统,请将命令中的 yum 替换为 dnf)。

$> sudo yum install package-name

例如,要安装 Fedora 上的 MySQL Workbench

$> sudo dnf install mysql-workbench-community

要安装共享客户端库(对于支持 dnf 的系统,请将命令中的 yum 替换为 dnf)。

$> sudo yum install mysql-community-libs

平台特定说明

ARM 支持

Oracle Linux 7 支持 ARM 64 位 (aarch64),并且需要 Oracle Linux 7 软件集合仓库 (ol7_software_collections)。例如,要安装服务器。

$> yum-config-manager --enable ol7_software_collections
$> yum install mysql-community-server

使用 Yum 更新 MySQL

除了安装之外,您还可以使用 MySQL Yum 仓库对 MySQL 产品和组件执行更新。有关详细信息,请参阅 第 3.8 节,“使用 MySQL Yum 仓库升级 MySQL”

替换 MySQL 的本机第三方发行版

如果您从本机软件仓库(即由您的 Linux 发行版提供的软件仓库)中安装了 MySQL 的第三方发行版,请遵循以下步骤。

  1. 备份您的数据库

    为了避免数据丢失,请务必在尝试使用 MySQL Yum 仓库替换 MySQL 安装之前备份您的数据库。有关如何备份数据库的信息,请参阅 第 9 章,备份和恢复

  2. 添加 MySQL Yum 仓库

    按照 添加 MySQL Yum 仓库 中提供的说明,将 MySQL Yum 仓库添加到系统的仓库列表中。

  3. 使用 Yum 更新或 DNF 升级替换本机第三方发行版

    根据设计,当您在系统上执行 yum update 命令(或对于支持 dnf 的系统,则执行 dnf upgrade)或执行 yum update mysql-server(或对于支持 dnf 的系统,则执行 dnf upgrade mysql-server)时,MySQL Yum 仓库会用来自 MySQL Yum 仓库的最新错误修复版本替换您的本机第三方 MySQL。

使用 Yum 仓库更新 MySQL 后,使用旧版共享客户端库编译的应用程序应该能够继续工作。但是,如果您想重新编译应用程序并使用更新的库动态链接它们,请参阅 升级共享客户端库,了解一些特殊注意事项。

注意

对于 EL7 基平台: 请参阅 EL7 基平台的兼容性信息