要查看mysql具体小版本号,需执行yum --showduplicates list mysql-community-server,该命令可显示所有可安装的重复版本及其完整release字符串(如5.7.44-1.el7),前提是mysql官方仓库已启用且enabled=1,否则输出为空。

如何用 yum list 查看具体 MySQL 小版本号
直接运行 yum list mysql-community-server 只会显示主版本(如 8.0 或 5.7),但不会暴露小版本(如 8.0.33-1.el7 或 5.7.44-1.el7)。真正能列出完整小版本的命令是:
-
yum --showduplicates list mysql-community-server—— 显示所有可安装的重复版本,含完整 release 字符串 -
yum list available | grep mysql-community-server—— 配合grep过滤,结果更干净
注意:必须先确保 MySQL 官方 repo 已启用(/etc/yum.repos.d/mysql-community.repo 中对应模块的 enabled=1),否则输出为空。如果看到 No package mysql-community-server available,说明仓库没装或被禁用。
启用指定小版本前,先确认模块状态
MySQL 8.0+ 的 yum 源使用 module 管理,不同小版本可能归属同一模块(如 mysql:8.0),但实际安装时仍由 rpm 包版本决定。关键操作不是“选小版本”,而是:
- 运行
yum module list mysql看当前启用的 stream(如8.0、5.7) - 若需锁定某一小版本(如只要
5.7.44而非最新5.7.45),得在yum install时显式指定:yum install mysql-community-server-5.7.44-1.el7 - 否则
yum install mysql-community-server总是拉取该 stream 下的最新小版本
执行前建议先 yum makecache 刷新元数据,否则可能查不到刚入库的新小版本。
安装特定小版本失败的常见原因
手动指定 mysql-community-server-5.7.44-1.el7 却报 Nothing to do 或 no package available,通常因为:
- 该小版本已从仓库中移除(MySQL 官方常下架旧小版本,仅保留最近 2–3 个)
- 仓库配置里启用了
mysql80-community,但你却在查mysql57-community的包 —— 两个源互不兼容,需检查/etc/yum.repos.d/下对应 repo 文件的baseurl和enabled - 系统架构不匹配:CentOS 7 是
x86_64,但误写了i686或漏写后缀,正确包名必须含.x86_64
验证方式:用 yum --showduplicates list mysql-community-server | grep 5.7.44 直接搜索,有输出才代表可装。
绕过 yum module 机制直接装老小版本(慎用)
当目标小版本不在当前启用的 stream 中,又无法切换模块(比如生产环境锁死在 mysql:8.0 但需要 8.0.28),可行但非常规的做法是:
- 去 MySQL 官方归档页 手动下载对应 rpm 包(如
mysql-community-server-8.0.28-1.el7.x86_64.rpm) - 用
yum localinstall ./mysql-community-server-8.0.28-1.el7.x86_64.rpm安装 - 后续
yum update会跳过它,除非显式加--enablerepo=mysql80-community
风险在于:该包依赖的其他组件(如 mysql-community-common)可能版本不匹配,导致启动失败。最稳妥的方式仍是用 yum --showduplicates 确认目标小版本是否仍在活跃仓库中。











