Documentation Home
MySQL 8.0 参考手册  / 第 2 章安装和升级 MySQL  / 2.5 在 Linux 上安装 MySQL  /  2.5.2 使用 MySQL Yum 仓库替换第三方 MySQL 发行版

2.5.2 使用 MySQL Yum 仓库替换第三方 MySQL 发行版

对于受支持的基于 Yum 的平台(请参阅 第 2.5.1 节“使用 MySQL Yum 存储库在 Linux 上安装 MySQL”以获得列表),您可以使用最新的 GA 版本(从 MySQL 5.7 开始)替换 MySQL 的第三方发行版当前系列)来自 MySQL Yum 存储库。根据您的 MySQL 第三方发行版的安装方式,需要遵循不同的步骤:

替换 MySQL 的原生第三方发行版

如果您从本机软件存储库(即您自己的 Linux 发行版提供的软件存储库)安装了 MySQL 的第三方发行版,请按照以下步骤操作:

  1. 备份你的数据库

    为避免数据丢失,请始终在尝试使用 MySQL Yum 存储库替换 MySQL 安装之前备份数据库。有关如何备份数据库的信息, 请参阅第 7 章备份和恢复。

  2. 添加 MySQL Yum 存储库

    按照添加 MySQL Yum 存储库中给出的说明,将 MySQL Yum 存储库添加 到系统的存储库列表中 。

  3. 通过 Yum 更新或 DNF 升级替换本地第三方发行版

    按照设计,当您在系统上执行yum update命令或yum update mysql-server .

使用 Yum 存储库更新 MySQL 后,使用旧版本共享客户端库编译的应用程序应该可以继续工作。但是,如果您想要重新编译应用程序并将它们与更新的库动态链接,请参阅 升级共享客户端库,了解一些特殊注意事项。

替换 MySQL 的非本地第三方发行版

如果您从非本机软件存储库(即您自己的 Linux 发行版不提供的软件存储库)安装了 MySQL 的第三方发行版,请按照以下步骤操作:

  1. 备份你的数据库

    为避免数据丢失,请始终在尝试使用 MySQL Yum 存储库替换 MySQL 安装之前备份数据库。有关如何备份数据库的信息, 请参阅第 7 章备份和恢复。

  2. 阻止 Yum 从第三方、非本地存储库接收 MySQL 包

    在您可以使用 MySQL Yum 存储库安装 MySQL 之前,您必须阻止您的系统从任何第三方、非本地 Yum 存储库接收 MySQL 包。

    例如,如果您使用自己的软件存储库安装了 MariaDB,请使用以下命令获取已安装的 MariaDB 包的列表:

    $> yum list installed mariadb\*
    MariaDB-common.i686                      10.0.4-1                       @mariadb
    MariaDB-compat.i686                      10.0.4-1                       @mariadb
    MariaDB-server.i686                      10.0.4-1                       @mariadb

    从命令输出中,我们可以识别已安装的包(MariaDB-commonMariaDB-compatMariaDB-server)及其来源(名为 的非本地软件存储库 mariadb)。

    再举一个例子,如果您使用他们自己的软件存储库安装了 Percona,请使用以下命令获取已安装的 Percona 软件包的列表:

    $> yum list installed Percona\*
    Percona-Server-client-55.i686     5.5.39-rel36.0.el6          @percona-release-i386
    Percona-Server-server-55.i686     5.5.39-rel36.0.el6          @percona-release-i386
    Percona-Server-shared-55.i686     5.5.39-rel36.0.el6          @percona-release-i386
    percona-release.noarch            0.1-3                       @/percona-release-0.1-3.noarch

    从命令输出中,我们可以识别已安装的软件包(Percona-Server-clientPercona-Server-serverPercona-Server-sharedpercona-release.noarch)及其来源(名为 的非本地软件存储库 percona-release)。

    如果您不确定安装了哪个第三方 MySQL 分支,此命令应显示它并列出为其安装的 RPM 包,以及提供包的第三方存储库:

    $> yum --disablerepo=\* provides mysql\*

    下一步是阻止 Yum 从非本机存储库接收包。如果 您的平台支持yum-config-manager实用程序,例如,您可以使用此命令停止从 MariaDB 传送:

    $> sudo yum-config-manager --disable mariadb

    使用此命令停止从 Percona 传送:

    $> sudo yum-config-manager --disable percona-release

    您可以通过删除目录下某个存储库文件中存在的软件存储库条目来执行相同的任务/etc/yum.repos.d/。这是条目通常如何查找 MariaDB:

    [mariadb] name = MariaDB
     baseurl = [base URL for repository]
     gpgkey = [URL for GPG key]
     gpgcheck =1

    该条目通常在 /etc/yum.repos.d/MariaDB.repoMariaDB 的文件中找到——删除该文件,或从中删除条目(或从您找到该条目的文件中)。

    笔记

    如果您要删除发布包(percona-release.noarch对于 Percona),则对于使用 Yum 存储库发布包(如 Percona)配置的安装来说,此步骤不是必需的,如下面步骤 3 中 Percona 的卸载命令所示。

  3. 卸载 MySQL 的非本地第三方 MySQL 发行版

    必须先卸载非本机第三方 MySQL 发行版,然后才能使用 MySQL Yum 存储库安装 MySQL。对于上面第 2 步中找到的 MariaDB 包,使用以下命令卸载它们:

    $> sudo yum remove MariaDB-common MariaDB-compat MariaDB-server

    对于我们在上面第 2 步中找到的 Percona 包:

    $> sudo yum remove Percona-Server-client-55 Percona-Server-server-55 \
      Percona-Server-shared-55.i686 percona-release
  4. 使用 MySQL Yum 存储库安装 MySQL

    然后,按照第 2.5.1 节“使用 MySQL Yum 存储库在 Linux 上安装 MySQL” 中给出的说明 ,使用 MySQL Yum 存储库安装 MySQL :

    重要的

    如果您选择用 MySQL Yum 存储库中的较新版本的 MySQL 替换您的第三方 MySQL 发行版,请记住在服务器启动后运行 mysql_upgrade,以检查并可能解决旧数据与升级软件之间的任何不兼容问题。 mysql_upgrade还执行其他功能;有关详细信息,请参阅第 4.4.7 节,“mysql_upgrade — 检查和升级 MySQL 表”

    对于基于 EL7 的平台:请参阅 基于 EL7 的平台的兼容性信息