问题原因
CentOS7 安装 MySQL8.0 时报 NOKEY / Public key is not installed
旧的 GPG 密钥
5072E1F5已经过期,MySQL 8.0.46 使用了新的签名密钥 A8D3785C,而你导入的还是老密钥,校验失败。
方案 1:导入 MySQL 最新的 GPG 密钥(推荐,安全)
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2023
导入完成后,重新执行安装命令:
yum install -y mysql-community-server
方案 2:临时跳过 GPG 校验(快速解决,不推荐长期使用)
关闭本次 yum 的 gpg 检查
yum install -y mysql-community-server --nogpgcheck
根治方案(更新 yum 源的 gpgkey 配置)
编辑 mysql yum 源文件
vi /etc/yum.repos.d/mysql-community.repo
找到 gpgkey= 那一行,把旧密钥地址
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
改成新版密钥:
gpgkey=https://repo.mysql.com/RPM-GPG-KEY-mysql-2023
保存退出,然后清理缓存重装
yum clean all
yum makecache
yum install -y mysql-community-server
补充:查看已导入的密钥
rpm -qa gpg-pubkey*
rpm -qi gpg-pubkey-a8d3785c-xxxx
小科普:MySQL 在 2024‑06‑03 更换了新签名密钥
A8D3785C,老密钥5072E1F5不再用于新版本包签名,所以 8.0.40 + 版本就会报这个 NOKEY 错误。
正文完
可以使用微信扫码关注公众号(ID:xzluomor)