对于受支持的基于Yum的平台(请参见 第2.5.1节“使用MySQL Yum存储库在Linux上安装MySQL”以获取列表),可以对MySQL执行就地升级(即替换旧版本,然后使用旧的数据文件运行新版本)和MySQL Yum存储库。
笔记
- 在对MySQL执行任何更新之前,请仔细遵循第2.11节“升级MySQL”中的说明。在此处讨论的其他说明中,在更新之前备份数据库尤为重要。
- 以下说明假定您已使用MySQL Yum存储库或直接从MySQL开发人员专区的MySQL下载页面下载的RPM软件包安装了MySQL ;如果不是这种情况,请按照使用MySQL Yum存储库替换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,请先升级到MySQL 5.7,然后再升级到8.0。
重要
有关从MySQL 5.7升级到8.0的重要信息,请参见 从MySQL 5.7升级到8.0。
-
升级MySQL
对于未启用dnf的平台,请通过以下命令升级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服务器始终会重新启动。在MySQL 8.0.16之前,请 在服务器重启后运行mysql_upgrade,以检查并可能解决旧数据与升级软件之间的任何不兼容性。mysql_upgrade还执行其他功能;有关详细信息,请参见 第4.4.5节“ **mysql_upgrade-**检查和升级MySQL表”。从MySQL 8.0.16开始,此步骤不是必需的,因为服务器执行先前由mysql_upgrade处理的所有任务。
您也只能更新特定组件。使用以下命令列出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.0共享客户端库和已发行的旧版本的共享库之间,存在版本差异)本机由Linux发行版的软件存储库或其他来源提供),使用更新的更新的共享库编译的任何应用程序都需要在部署应用程序的系统上具有这些更新的库。不出所料,如果没有这些库,则需要共享库的应用程序将失败。因此,请确保在这些系统上为MySQL的共享库部署程序包。去做这个,添加MySQL的Yum存储库)并使用使用Yum安装其他MySQL产品和组件中给出的说明安装最新的共享库 。