2.11.10 使用直接下载的 RPM 软件包升级 MySQL

最好使用MySQL Yum 存储库MySQL SLESRepository在基于 RPM 的平台上升级 MySQL。但是,如果必须使用直接从MySQL 开发人员专区下载的 RPM 软件包升级 MySQL(有关软件包的信息,请参见第 2.5.5 节“使用 Oracle 的 RPM 软件包在 Linux 上安装 MySQL”),请转到包含所有已下载软件包的文件夹(最好不要包含其他名称相似的 RPM 软件包)。 ,然后发出以下命令:

yum install mysql-community-{server,client,common,libs}-*

对于 SLES 系统,将 yum 替换为 zypper,对于已启用 dnf 的系统,替换为 dnf。

虽然最好使用 yum 之类的高级软件包 Management 工具来安装软件包,但是更喜欢直接使用 rpm 命令的用户可以将 yum install 命令替换为 rpm -Uvh 命令;但是,使用 rpm -Uvh **会使安装过程更容易失败,因为安装过程可能会遇到潜在的依赖性问题。

对于使用 RPM 软件包的升级安装,如果在升级安装开始时 MySQL 服务器正在运行,则 MySQL 服务器将在安装结束时自动重启。如果在升级安装开始时服务器未在运行,则必须在升级安装完成后自行重新启动服务器;否则,请重新启动服务器。例如,使用以下命令来执行此操作:

service mysqld start

服务器重新启动后,运行mysql_upgrade以检查并可能解决旧数据与升级软件之间的任何不兼容性。 mysql_upgrade还执行其他功能;有关详情,请参见第 4.4.7 节“ mysql_upgrade-检查和升级 MySQLtable”

Note

由于 RPM 软件包之间存在依赖关系,因此所有已安装的软件包必须具有相同的版本。因此,请始终为 MySQL 更新所有已安装的软件包。例如,不仅要更新服务器,还要升级 Client 端,服务器和 Client 端库的公用文件,等等。

通过较旧的 RPM 软件包从安装中进行迁移和升级. 某些较旧版本的 MySQL Server RPM 软件包以 MySQL- *的形式命名(例如,MySQL-server- *和 MySQL-client- *)。使用标准软件包 Management 工具( yum ,dnff 或 zypper **)安装时,最新版本的 RPM 可以无缝升级那些较旧的安装,因此无需在安装之前先卸载那些旧的软件包。安装新的。这是旧版本和当前 RPM 软件包之间行为上的一些差异:

table2.15 用于安装 MySQL 的旧版和当前 RPM 软件包之间的区别

Feature先前软件包的行为当前软件包的行为
安装完成后开始服务Yes否,除非它是升级安装,并且升级开始时服务器正在运行。
Service namemysql对于 RHEL,Oracle Linux,CentOS 和 Fedora:mysqld

对于 SLES:mysql
错误日志文件/var/lib/mysql/hostname.err对于 RHEL,Oracle Linux,CentOS 和 Fedora:在/var/log/mysqld.log
对于 SLES:位于/var/log/mysql/mysqld.log
带有/etc/my.cnf文件的装运
Multilib supportNoYes

Note

使用较旧的软件包安装以前版本的 MySQL 可能会创建一个名为/usr/my.cnf的配置文件。强烈建议您检查文件的内容,并将所需的设置迁移到文件/etc/my.cnf文件中,然后删除/usr/my.cnf

升级到 MySQL Enterprise Server. 从社区版本升级到商业版本的 MySQL 要求您首先卸载社区版本,然后再安装商业版本。在这种情况下,您必须在升级后手动重新启动服务器。

与 os 本机 MySQL 软件包的互操作性. 许多 Linux 发行版都将 MySQL 作为 os 的集成部分。使用标准软件包 Management 工具( yum ,dnff 或 zypper **)安装时,Oracle 的 RPM 的最新版本将无缝升级并替换 os 随附的 MySQL 版本。系统,然后程序包 Management 器会自动使用相关的新版本替换系统兼容性程序包,例如mysql-community-libs-compat

从非本机 MySQL 软件包升级. 如果您已将 MySQL 与第三方软件包(不是从 Linux 发行版本的本机软件存储库中安装)一起安装(例如,直接从供应商下载的软件包),则需要卸载所有这些软件包您可以使用 Oracle 的软件包进行升级之前。