yum install mysql-community-server 卡在 gpg 校验失败的根源是旧密钥残留干扰新密钥注册,需依次清理旧密钥、导入官方新密钥(https://repo.mysql.com/rpm-gpg-key-mysql-2022)、清空并重建 yum 缓存。

为什么 yum install mysql-community-server 会卡在 GPG 校验失败
不是网络问题,也不是权限不足,而是 RPM 包管理系统在执行签名验证时发现:本地已注册的密钥(比如 gpg-pubkey-3a79bd29-4a806c31)与当前 MySQL 8.0.45+ 包所需的签名不匹配。MySQL 官方在 2022 年启用了新密钥(ID 含 467B942D 或 5072E1F5),旧密钥仍存在于系统中,但已失效。RPM 不会自动覆盖,只会报 “The GPG keys [...] are already installed but they are not correct for this package”。
导入新密钥前必须清理旧密钥
跳过这步是多数人反复失败的根源。残留的旧密钥会干扰新密钥注册,即使 rpm --import 成功,yum 仍可能优先使用旧 ID 去校验。
MySQL 9.6.0是面向Linux平台的2026年创新版本,核心架构迎来重大革新。其将外键约束与级联操作从InnoDB引擎层上移至SQL层,确保所有数据变更均被完整记录至Binlog,彻底解决了CDC(变更数据捕获)与主从复制中的数据不一致难题。此外,该版本引入container_aware启动选项以原生适配容器环境,并对审计日志进行了组件化重构,为追求极致数据一致性与云原生体验的开发者提供了全新选择。
- 查出所有 MySQL 相关密钥:
rpm -qa gpg-pubkey | grep -i mysql - 逐个卸载(以实际输出 ID 为准):
rpm -e gpg-pubkey-3a79bd29-4a806c31 - 删掉磁盘上残留文件:
sudo rm -f /etc/pki/rpm-gpg/RPM-GPG-KEY-mysql* - 确认清空:
rpm -qa gpg-pubkey | grep -i mysql应无输出
用对 URL 导入官方最新密钥
截至 2026 年 6 月,唯一有效的密钥地址是:https://repo.mysql.com/RPM-GPG-KEY-mysql-2022。不要用本地路径(如 file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql),也不要尝试下载后手动导入——换行或编码损坏会导致签名无效。
- 直接执行:
sudo rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 - 若提示 SSL 错误(如
curl: (60) SSL certificate problem),加--nogpgcheck仅用于这一步:sudo rpm --import --nogpgcheck https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 - 验证是否生效:
rpm -qi gpg-pubkey | grep -A2 -B2 mysql,应看到Signature : RSA/SHA256, key ID 5072E1F5或类似
缓存不清理,新密钥也白装
YUM/DNF 的元数据缓存里还存着旧密钥的引用,不清理就会继续拿旧规则去校验新包。
- 必须执行:
sudo yum clean all(或sudo dnf clean all) - 重建缓存:
sudo yum makecache(或sudo dnf makecache) - 再安装:
sudo yum install -y mysql-community-server - 如果仍失败,临时绕过校验仅作验证:
sudo yum install --nogpgcheck -y mysql-community-server,但生产环境禁止长期使用
gpgkey= 指向错误路径、缓存未刷新——这三个点只要漏掉一个,GPG 错误就会原样复现。别信“导入一次就完事”的说法。










