MySQL 9.0 参考手册  /  升级 MySQL  /  使用 MySQL Yum 仓库升级 MySQL

3.8 使用 MySQL Yum 仓库升级 MySQL

对于支持 Yum 的平台(有关列表,请参阅第 2.5.1 节 “使用 MySQL Yum 仓库在 Linux 上安装 MySQL”),您可以使用 MySQL Yum 仓库对 MySQL 执行就地升级(即替换旧版本,然后使用旧数据文件运行新版本)。

注意
  • 创新系列(如 MySQL 9.0)与 LTS 系列(如 MySQL 8.4)位于不同的轨道上。默认情况下,LTS 系列处于活动状态。

  • 在对 MySQL 执行任何更新之前,请仔细按照第 3 章 “升级 MySQL”中的说明进行操作。在该章节中讨论的其他说明中,尤其重要的是在更新之前备份数据库。

  • 以下说明假设您已使用 MySQL Yum 仓库或直接从MySQL 开发者专区的 MySQL 下载页面下载的 RPM 软件包安装了 MySQL;如果不是这种情况,请按照替换 MySQL 的原生第三方发行版中的说明进行操作。

  1. 选择目标系列

    默认情况下,MySQL Yum 仓库会将 MySQL 更新到您在安装期间选择的发布轨道中的最新版本(有关详细信息,请参阅选择发布系列),这意味着,例如,8.0.x 安装不会自动更新到 8.4.x 版本。要更新到另一个发布系列,您必须首先禁用已选择系列的子仓库(默认情况下,或您自己选择),并启用目标系列的子仓库。为此,请参阅选择发布系列中提供的有关编辑/etc/yum.repos.d/mysql-community.repo文件中子仓库条目的常规说明。

    作为一般规则,要从一个错误修复系列升级到另一个错误修复系列,请转到下一个错误修复系列,而不是跳过一个错误修复系列。例如,如果您当前运行的是 MySQL 5.7 并希望升级到 MySQL 8.4,请先升级到 MySQL 8.0,然后再升级到 MySQL 8.4。有关其他详细信息,请参阅第 3.5 节 “MySQL 9.0 的变化”

  2. 升级 MySQL

    使用标准 yum(或 dnf)命令升级 MySQL 组件,例如 MySQL 服务器

    sudo yum update mysql-server

    对于启用了 dnf 的平台

    sudo dnf upgrade mysql-server

    或者,您可以通过指示 Yum 更新系统上的所有内容来更新 MySQL,但这可能需要相当长的时间。对于未启用 dnf 的平台

    sudo yum update

    对于启用了 dnf 的平台

    sudo dnf upgrade
    注意

    MySQL 服务器总是在 Yum 更新后重新启动。

您还可以只更新特定的组件。使用以下命令列出 MySQL 组件的所有已安装软件包(对于启用了 dnf 的系统,请将命令中的yum替换为dnf

sudo yum list installed | grep "^mysql"

在确定您选择的组件的软件包名称后,使用以下命令更新软件包,将package-name替换为软件包的名称。对于未启用 dnf 的平台

sudo yum update package-name

对于启用了 dnf 的平台

sudo dnf upgrade package-name

升级共享客户端库

使用 Yum 仓库更新 MySQL 后,使用旧版本的共享客户端库编译的应用程序应继续工作。

如果您重新编译应用程序并将其与更新的库动态链接: 与共享库的新版本一样,如果新旧库之间的符号版本控制存在差异或添加(例如,在较新的标准 9.0 共享客户端库与 Linux 发行版软件仓库或其他来源原生提供的某些较旧的(先前或变体)版本的共享客户端库之间),使用更新的、较新的共享客户端库编译的任何应用程序都需要在部署应用程序的系统上使用这些更新的库。正如预期的那样,如果这些库不存在,则需要共享库的应用程序将失败。因此,请确保在这些系统上部署来自 MySQL 的共享库软件包。为此,请将 MySQL Yum 仓库添加到系统中(请参阅添加 MySQL Yum 仓库),并使用使用 Yum 安装其他 MySQL 产品和组件中提供的说明安装最新的共享库。