yum install -y mysql-community-server报错 GPG Keys are configured as....

遇到的这个错误非常典型,问题不在于依赖关系,而在于系统上的GPG密钥(一种软件包签名验证密钥)版本与要安装的MySQL 8.0.44软件包不匹配。

简单来说,yum仓库会更新软件包,有时对应的GPG密钥也会升级。旧的密钥无法验证新发布的软件包,就会出现"密钥不正确"的报错。

🔧 解决方案:更新GPG密钥

要解决此问题,你需要导入MySQL官方提供的新密钥。请按以下步骤操作:

  1. 导入新的GPG密钥

    运行以下命令,从MySQL官方仓库直接导入正确的密钥。这是解决此问题的核心步骤。

    bash 复制代码
    rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
  2. 验证密钥是否已安装

    导入后,可以检查一下密钥列表,确认新密钥已加入。

    bash 复制代码
    rpm -qi gpg-pubkey-*
  3. 重新安装MySQL

    密钥更新后,再次尝试安装命令即可。

    bash 复制代码
    yum 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包并离线安装。

  1. 手动下载所有必要的RPM包 。你需要从MySQL官网或国内镜像站下载包括 mysql-community-server、mysql-community-client、mysql-community-common 等在内的所有依赖包。

  2. 使用 rpm 命令手动安装 。将下载好的所有 .rpm 文件上传到服务器,然后执行:

    bash 复制代码
    rpm -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检查。

相关推荐
l1t13 分钟前
几种数据库软件count(distinct)和count()from group by子查询性能测试
开发语言·数据库
夜雪一千28 分钟前
如何在MySQL中实现字段级加密
android·数据库·mysql
夜雪一千29 分钟前
MySQL 如何存储经纬度坐标:选型、建表、空间查询实战
android·mysql·adb
CJi0NG30 分钟前
【自用】MySQL-存储引擎
数据库·mysql
weixin_4604435635 分钟前
在线考试人脸识别如何合规?本地活体检测、人脸模板加密与替代认证的技术架构设计
大数据·数据库·煤矿培训考试系统·煤矿在线考试系统·煤矿安全培训·煤矿考试系统
高级程序源38 分钟前
django房屋租赁系统28636-计算机课程设计、毕业设计
python·mysql·elasticsearch·小程序·django·flask·课程设计
deepseek2342 分钟前
SQLite WAL 开了仍报 database is locked?Python 后台任务的事务与幂等修复
数据库·python·sqlite·并发编程·wal
SelectDB1 小时前
冷热分层速查手册:参数、命令、生效判据与常见失效原因一页看完
大数据·数据库·数据分析
雨落在了我的手上1 小时前
MySQL数据库基础(9):数据库设计
数据库·mysql