MySQL 8.4 参考手册  /  升级 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 8.4 中的更改”

  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 的系统,请在命令中用 dnf 替换 yum

sudo yum list installed | grep "^mysql"

确定所选组件的包名称后,使用以下命令更新该包,将 包名 替换为包的名称。对于不支持 dnf 的平台

sudo yum update package-name

对于支持 dnf 的平台

sudo dnf upgrade package-name

升级共享客户端库

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

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