遇到的这个错误非常典型,问题不在于依赖关系,而在于系统上的GPG密钥(一种软件包签名验证密钥)版本与要安装的MySQL 8.0.44软件包不匹配。
简单来说,yum仓库会更新软件包,有时对应的GPG密钥也会升级。旧的密钥无法验证新发布的软件包,就会出现"密钥不正确"的报错。
🔧 解决方案:更新GPG密钥
要解决此问题,你需要导入MySQL官方提供的新密钥。请按以下步骤操作:
-
导入新的GPG密钥
运行以下命令,从MySQL官方仓库直接导入正确的密钥。这是解决此问题的核心步骤。
bashrpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 -
验证密钥是否已安装
导入后,可以检查一下密钥列表,确认新密钥已加入。
bashrpm -qi gpg-pubkey-* -
重新安装MySQL
密钥更新后,再次尝试安装命令即可。
bashyum install -y mysql-community-server
整个过程总结如下表:
| 步骤 | 命令 | 作用说明 |
|---|---|---|
| 1. 导入密钥 | rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 |
从MySQL官方仓库获取并安装最新的验证密钥。 |
| 2. 验证(可选) | rpm -qi gpg-pubkey-* |
检查系统中所有已安装的GPG公钥。 |
| 3. 重新安装 | yum install -y mysql-community-server |
完成密钥更新后,正常执行安装。 |
💡 备选方案:手动下载RPM包安装
如果上述方法仍然失败(例如,因为网络无法访问MySQL官网),可以尝试手动下载RPM包并离线安装。
-
手动下载所有必要的RPM包 。你需要从MySQL官网或国内镜像站下载包括
mysql-community-server、mysql-community-client、mysql-community-common等在内的所有依赖包。 -
使用
rpm命令手动安装 。将下载好的所有.rpm文件上传到服务器,然后执行:bashrpm -ivh *.rpm --force --nodeps注意 :
--nodeps参数会跳过依赖检查,这要求你确保所有依赖包确实都已下载并放在同一目录下。
通常来说,执行第一步的密钥导入命令即可解决问题。
其他办法:
修改仓库配置文件(推荐)
这是最彻底的方法,通过编辑MySQL的Yum源配置文件来解决问题。根据你之前设置的阿里云Vault源,步骤会略有不同。
编辑MySQL仓库文件:执行 vi /etc/yum.repos.d/mysql-community.repo。
定位并修改:找到文件内 [mysql80-community] 这个部分,在 gpgcheck=1 这一行下,新增一行 gpgcheck=0。修改后该部分看起来像这样:
ini
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=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2022
gpgcheck=0
保存并退出。
执行安装:再次运行 yum install -y mysql-community-server。此时应该会直接开始安装,不再进行GPG检查。