对于受支持的基于 Yum 的平台(请参阅 第 2.5.1 节“使用 MySQL Yum 存储库在 Linux 上安装 MySQL”以获得列表),您可以使用最新的 GA 版本(从 MySQL 5.7 开始)替换 MySQL 的第三方发行版当前系列)来自 MySQL Yum 存储库。根据您的 MySQL 第三方发行版的安装方式,需要遵循不同的步骤:
替换 MySQL 的原生第三方发行版
如果您从本机软件存储库(即您自己的 Linux 发行版提供的软件存储库)安装了 MySQL 的第三方发行版,请按照以下步骤操作:
-
备份你的数据库
为避免数据丢失,请始终在尝试使用 MySQL Yum 存储库替换 MySQL 安装之前备份数据库。有关如何备份数据库的信息, 请参阅第 7 章备份和恢复。
-
添加 MySQL Yum 存储库
按照添加 MySQL Yum 存储库中给出的说明,将 MySQL Yum 存储库添加 到系统的存储库列表中 。
-
通过 Yum 更新或 DNF 升级替换本地第三方发行版
按照设计,当您在系统上执行yum update命令或yum update mysql-server .
使用 Yum 存储库更新 MySQL 后,使用旧版本共享客户端库编译的应用程序应该可以继续工作。但是,如果您想要重新编译应用程序并将它们与更新的库动态链接,请参阅 升级共享客户端库,了解一些特殊注意事项。
替换 MySQL 的非本地第三方发行版
如果您从非本机软件存储库(即您自己的 Linux 发行版不提供的软件存储库)安装了 MySQL 的第三方发行版,请按照以下步骤操作:
-
备份你的数据库
为避免数据丢失,请始终在尝试使用 MySQL Yum 存储库替换 MySQL 安装之前备份数据库。有关如何备份数据库的信息, 请参阅第 7 章备份和恢复。
-
阻止 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-common
、MariaDB-compat
和MariaDB-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-client
、Percona-Server-server
、Percona-Server-shared
和percona-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.repo
MariaDB 的文件中找到——删除该文件,或从中删除条目(或从您找到该条目的文件中)。笔记如果您要删除发布包(
percona-release.noarch
对于 Percona),则对于使用 Yum 存储库发布包(如 Percona)配置的安装来说,此步骤不是必需的,如下面步骤 3 中 Percona 的卸载命令所示。 -
卸载 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
-
使用 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 的平台的兼容性信息。