有关受支持的基于yum的平台(请参见第2.5.1节,“使用MySQL Yum Repository在Linux上安装MySQL”,您可以使用MySQL Yum存储库执行MySQL的就地升级(即,替换旧版本,然后使用旧数据文件运行新版本)。
在对MySQL执行任何更新之前,请仔细遵循手册中的说明第2.11节,“升级MySQL”.在这里讨论的其他说明中,在更新之前备份数据库尤为重要。
以下说明假设您已将MySQL安装了MySQL yum存储库,也可以直接下载RPM包MySQL开发区MySQL下载页面;如果不是这样,按照说明使用MySQL Yum Repository替换MySQL的第三方分发.
选择目标系列
默认情况下,MySQL Yum存储库将MySQL更新到您在安装过程中选择的版本系列中的最新版本(参见选择发行系列详细信息),即例如5.7。x安装不更新到8.0。x自动释放。要更新到另一个发布系列,您必须首先禁用已选择的系列的子存储库(默认情况下,或自己选择),并启用目标系列的子存储库。要做到这一点,请参阅文中给出的一般说明选择发行系列.如果从MySQL 5.7升级到8.0,请执行反向中所示步骤的选择发行系列,在MySQL 5.7系列中禁用子存储库,在MySQL 8.0系列中启用子存储库。
一般来说,要从一个发布系列升级到另一个发布系列,就要进入下一个系列,而不是跳过一个系列。例如,如果你正在运行MySQL 5.6并且想要升级到8.0,那么在升级到8.0之前先升级到MySQL 5.7。
重要的有关从MySQL 5.7到8.0升级的重要信息,请参阅从MySQL 5.7升级到8.0.
升级MySQL
对于没有启用dnf的平台,使用以下命令升级MySQL及其组件:
yum更新mysql-server
对于支持dnf的平台:
Sudo DNF升级mysql-server
或者,您可以通过让Yum更新系统上的所有内容来更新MySQL,这可能会花费相当多的时间。对于不启用dnf的平台:
sudo yum更新
对于支持dnf的平台:
sudo dnf升级
重新启动MySQL
MySQL Server始终在yum更新后重新启动。在MySQL 8.0.16之前,运行mysql_upgrade服务器重启后进行检查,并可能解决旧数据与升级软件不兼容的问题。mysql_upgrade还执行其他功能;有关详细信息,请参见mysql_upgrade -检查和升级MySQL表.从MySQL 8.0.16开始,这个步骤是不需要的,因为服务器会执行之前由mysql_upgrade.
您还可以只更新特定的组件。使用以下命令列出MySQL组件的所有已安装包(对于启用dnf的系统,replace百胜在命令中dnf):
Sudo yum list installed | grep "^mysql"
确定您选择的组件的包名后,使用以下命令更新包,替换包名
与包的名称。对于不启用dnf的平台:
sudo yum更新包名
dnf-enabled平台:
sudo dnf升级包名
升级共享客户端库
在使用Yum库更新MySQL之后,使用旧版本的共享客户端库编译的应用程序应该可以继续工作。
如果你重新编译应用程序,并将它们与更新后的库动态链接:在新版本的共享库中,新版本的库和旧版本的库(例如,新版本的库、标准的8.0共享客户端库和一些较旧的或由Linux发行版的软件存储库自带的或来自其他来源的共享库的变体版本),任何使用更新的、较新的共享库编译的应用程序都需要部署在这些应用程序所在的系统上的那些更新的库。如预期的那样,如果这些库没有到位,需要共享库的应用程序就会失败。因此,请确保将来自MySQL的共享库的包部署到这些系统上。为此,将MySQL Yum存储库添加到系统中(参见添加MySQL Yum Repository),并使用文中给出的说明安装最新的共享库安装额外的MySQL产品和组件Yum.