错误信息:
warning: /var/cache/yum/x86_64/7/mysql80-community/packages/mysql-community-server-8.0.41-1.el7.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID a8d3785c: NOKEY
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
The GPG keys listed for the "MySQL 8.0 Community Server" repository are already installed but they are not correct for this package.
Check that the correct key URLs are configured for this repository.
Failing package is: mysql-community-server-8.0.41-1.el7.x86_64
GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
错误信息说虽然GPG密钥已经安装,但不适用于这个包。
首先,错误提示提到的是MySQL 8.0 Community Server仓库的GPG密钥有问题。可能的原因是仓库的GPG密钥有更新,或者当前系统上的密钥已经过期了。有时候软件源更新后,密钥也需要重新导入,否则就会导致出现这样的验证错误。
小编所使用的密钥文件是file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql,但这个文件里的密钥已经不是最新的了。那就需要从MySQL的官方网站或者仓库重新获取最新的GPG密钥,并替换掉原来的秘钥。
具体解决方法如下:
一、删除旧的MySQL GPG密钥
sudo rpm -e --allmatches gpg-pubkey$(rpm -qa | grep 'gpg-pubkey.*mysql' | sed 's/gpg-pubkey-//g')
二、导入新的MySQL GPG密钥
sudo rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2023
三、清理Yum缓存
sudo yum clean all
四、验证仓库配置
确保MySQL仓库文件(/etc/yum.repos.d/mysql-community.repo)中的GPG密钥URL正确:
[mysql80-community]
name=MySQL 8.0 Community Server
baseurl=http://repo.mysql.com/yum/mysql-8.0-community/el/7/$basearch/
enabled=1
gpgcheck=1
gpgkey=https://repo.mysql.com/RPM-GPG-KEY-mysql-2023 # 确认此处为最新URL
(可使用vim命令编辑该文件内容)
五、重新安装MySQL
sudo yum install mysql-community-server
附:查看已导入的MySQL密钥:
rpm -qi gpg-pubkey$(rpm -qa | grep 'gpg-pubkey.*mysql' | cut -d- -f4)
关键点:
-
MySQL在2023年更新了GPG密钥(ID: 467B942D3A79BD29),需确保使用最新密钥
-
仓库配置中的
gpgkey
应指向HTTPS地址而非本地文件路径 -
彻底清理旧密钥可避免残留冲突