3.8 使用 MySQL Yum 仓库升级 MySQL
对于支持 Yum 的平台(见第 2.5.1 节,“使用 MySQL Yum 仓库安装 MySQL”),您可以使用 MySQL Yum 仓库对 MySQL 进行 in-place 升级(即将旧版本替换为新版本,然后使用旧数据文件运行新版本)。
-
创新系列,如 MySQL 8.3,位于 LTS 系列,如 MySQL 8.4 的独立 track 中。LTS 系列默认处于活动状态。
-
在对 MySQL 进行任何更新之前,请按照第 3 章,“升级 MySQL”中的说明进行操作。其中,特别重要的是在更新之前备份数据库。
-
以下说明假设您已经使用 MySQL Yum 仓库或直接从MySQL 开发者区的 MySQL 下载页面下载的 RPM 包安装了 MySQL;如果不是,请按照替换本地第三方 MySQL 发行版中的说明进行操作。
-
默认情况下,MySQL Yum 仓库将 MySQL 更新到您在安装时选择的发布系列(见选择发布系列)中的最新版本,例如,8.0.x 安装将不会自动更新到 8.4.x 版本。要更新到另一个发布系列,您必须首先禁用默认系列的子仓库,然后启用目标系列的子仓库。要执行该操作,请按照选择发布系列中的说明编辑
/etc/yum.repos.d/mysql-community.repo
文件中的子仓库条目。总的来说,要从一个 bugfix 系列升级到另一个 bugfix 系列,请不要跳过 bugfix 系列。例如,如果您当前运行 MySQL 5.7 并想升级到 MySQL 8.4,首先升级到 MySQL 8.0,然后升级到 MySQL 8.4。对于详细信息,请见第 3.5 章,“MySQL 8.4 的变化”。
-
关于从 MySQL 5.7 升级到 8.0 的重要信息,请见从 MySQL 5.7 升级到 8.0。
-
关于从 MySQL 8.0 升级到 8.4 的重要信息,请见从 MySQL 8.0 升级到 8.4。
-
MySQL Yum 仓库不支持 MySQL 的 in-place 降级。请按照第 4 章,“降级 MySQL”中的说明进行操作。
-
-
升级 MySQL
使用标准 yum (或 dnf) 命令升级 MySQL 组件,例如 MySQL 服务器:
sudo yum update mysql-server
对于支持 dnf 的平台:
sudo dnf upgrade mysql-server
另外,您可以通过告诉Yum更新整个系统,这可能需要更长的时间。对于非dnf启用的平台:
sudo yum update
对于dnf启用的平台:
sudo dnf upgrade
NoteMySQL服务器总是通过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后,使用旧版本共享客户端库编译的应用程序应该继续工作。
如果您重新编译应用程序,并使用更新的库进行动态链接:与新版本共享库的符号版本号之间存在差异或添加(例如,标准8.4共享客户端库与某些老版本或变体版本的共享库在Linux发行版的软件仓库中或来自其他来源),需要在部署应用程序的系统上安装更新的库。正如预期,如果这些库没有安装,需要这些库的应用程序将失败。因此,请在应用程序部署的系统上部署MySQL共享库的包。要做到这一点,请在系统上添加MySQL Yum存储库(见添加MySQL Yum存储库),然后使用使用Yum安装MySQL产品和组件中的指令安装最新的共享库。