必须显式指定完整包名(如mysql-community-server-8.0.32-1.el7.x86_64)并确认该版本在yum仓库中存在,否则无法精确安装;若不可用则需改用二进制包,且须同步安装同版本的libs、client等依赖组件,并导入对应时期gpg密钥或临时禁用校验。

直接用 yum install mysql-community-server 会装最新小版本(比如当前是 8.0.37),不是你要的 8.0.32。必须显式指定完整包名,且该版本得在仓库中真实存在。
确认目标版本是否在 yum 仓库中可用
MySQL 官方 YUM 仓库默认只保留最近几个小版本,旧版(如 8.0.32)可能已被移除或归档。不能假设它还在活跃源里。
- 先启用 MySQL 官方源(如
mysql80-community),再运行:yum --showduplicates list mysql-community-server - 输出中若没看到
8.0.32-1.el7这类完整标识(含构建号),说明该小版本已不可用 —— 此时不能靠 yum 安装,得换二进制包 - 注意:CentOS/RHEL 7 对应的构建号通常是
-1.el7,而 CentOS 8/Stream 8 是-1.el8,写错会导致安装失败
精确安装 8.0.32 的命令与关键参数
一旦确认 8.0.32-1.el7 在列表中,执行安装时必须带完整版本号和架构,否则 yum 仍可能选错。
- 运行:
yum install mysql-community-server-8.0.32-1.el7.x86_64(注意末尾的.x86_64不可省略) - 如果提示依赖冲突(常见于系统自带
mariadb-libs),加--setopt=obsoletes=0避免自动替换,或提前yum remove mariadb-libs - 安装后立即锁定版本:
yum versionlock mysql-community-server-8.0.32-1.el7.x86_64(需先yum install yum-plugin-versionlock)
遇到 GPG 签名校验失败怎么办
安装老版本 RPM 包时,常见错误:Public key is not installed 或提示 RPM-GPG-KEY-mysql-2023 不匹配 —— 因为 8.0.32 发布时用的是旧密钥。
- 导入对应时期的公钥:
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql(不是带 -2023 后缀的那个) - 若仍失败,临时跳过校验(仅限可信离线环境):
yum install --nogpgcheck mysql-community-server-8.0.32-1.el7.x86_64 - 切勿全局禁用 GPG,否则后续安全更新无法验证
安装后必须验证的三件事
小版本一致性不只看 mysqld --version,还要确认底层行为完全对齐。
- 检查实际运行版本:
mysql -V和SELECT VERSION();输出必须都是8.0.32,而非8.0.32-1.el7截断后显示为 8.0.32 - 验证认证插件:
SELECT plugin FROM mysql.user WHERE User='root';—— 8.0.32 默认是caching_sha2_password,但某些打包变体会回退,需手动统一 - 留意
/var/log/mysqld.log开头是否有MySQL init process done. Ready for start up.,避免因初始化脚本版本不匹配导致服务起不来
真正麻烦的不是装上 8.0.32,而是它依赖的 mysql-community-libs、mysql-community-client 等组件是否也严格对齐同一小版本 —— 缺一个,就可能引发连接中断或字符集异常,这点容易被忽略。











