应导入 MySQL 官方最新密钥:rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022;若 SSL 报错可加 --nogpgcheck 临时绕过,之后执行 yum clean all && yum makecache && yum install -y mysql-community-server。

为什么 yum install mysql-server 会卡在 GPG key failed
因为 CentOS 7 默认启用 GPG 签名校验,而 MySQL 官方仓库的 RPM-GPG-KEY-mysql 在 2022 年后已过期(当前时间是 2026 年),系统仍尝试用旧密钥验证新包,导致报错:The GPG keys listed for the "MySQL 5.7 Community Server" repository are already installed but they are not correct for this package。这不是网络或权限问题,是签名链断裂。
rpm --import 导入新密钥时该用哪个 URL
必须使用 MySQL 官方最新密钥地址,截至 2026 年仍在有效维护的是:https://repo.mysql.com/RPM-GPG-KEY-mysql-2022。不要用 file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql 这类本地路径,那是旧密钥残留;也不要尝试手动下载再 rpm --import /path/to/key,容易因编码或换行损坏签名。
直接执行:
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
如果提示 curl: (60) SSL certificate problem,说明系统 CA 证书过旧,可临时加 --nogpgcheck 绕过(仅限导入密钥这一步):
rpm --import --nogpgcheck https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
yum install 前要不要删旧密钥文件
不需要删 /etc/pki/rpm-gpg/RPM-GPG-KEY-mysql。rpm 密钥管理是“叠加式”的,新密钥导入后自动生效,旧密钥即使存在也不会干扰——只要新密钥能覆盖对应 key ID(如 3a79bd29)即可。强行删除反而可能让 yum 源配置找不到 key 文件路径而报更奇怪的 warning。
面向 CRM 系统的 MySQL 8 数据库模式设计。当用户需要为客户关系管理(CRM)系统设计、评审、优化或生成数据库模式时,应使用此项技能。
但要注意两点:
- 确认你的 repo 配置里
gpgkey=指向的是正确 URL(比如gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql),而不是硬编码了已失效的旧密钥路径 - 如果之前用过第三方 MySQL 源(如 MariaDB 或 Percona),它们的密钥 ID 可能冲突,此时需检查
rpm -q gpg-pubkey --queryformat '%{NAME}-%{VERSION}-%{RELEASE}\t%{SUMMARY}\n'输出中是否有多个 MySQL 相关 key
导入密钥后还是安装失败?检查这三点
密钥导入成功 ≠ 安装一定成功。常见遗漏点:
-
yum clean all必须执行——否则本地缓存的元数据仍引用旧密钥,yum makecache也得跟上 - 确认你安装的是
mysql-community-server而非mysql-server(后者是旧版兼容包,已弃用且无对应新密钥) - 若用的是自建内网镜像源,它可能没同步最新密钥;此时应改用官方源,或联系运维更新镜像站的 GPG keyring
最终验证命令链是:
yum clean all && yum makecache && yum install -y mysql-community-server
密钥本身不会永久生效——MySQL 官方密钥有效期通常为 3–5 年,下次更新大概率在 2028 年前后,到时还得再 import 一次新链接。别把它当成一劳永逸的操作。










