CentOS 7 安装 MySQL 8.0.45 解决 GPG 密钥不匹配问题(生产环境合规版)

一、文档说明

1.1 适用场景

本文适用于 CentOS 7 系统,在安装 MySQL 8.0.45 社区版(通过 YUM 源方式)时,遇到「GPG 密钥已安装但与包不匹配」报错的生产环境解决方案。

核心报错信息(本文重点解决):

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-common-8.0.45-1.el7.x86_64. GPG Keys are configured as: https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

1.2 环境前提

  • 系统:CentOS 7(x86_64,任意内核版本,生产环境稳定版优先);
  • 权限:已获取 root 用户权限(生产环境操作必备);
  • 状态:已尝试安装 MySQL 8.0.45,出现上述 GPG 密钥不匹配报错,且已清理旧 MySQL YUM 源配置;
  • 网络:服务器可正常访问外网(需下载官方密钥及 MySQL 安装包)。

1.3 文档价值

针对生产环境「安全性、合规性」要求,提供「彻底清理密钥冲突+重新导入官方全量密钥」的解决方案,不跳过 GPG 验证、不降低系统安全等级,全程可追溯、可复用,解决 CentOS 7 与 MySQL 8.0.45 密钥适配兼容性问题。

二、问题根源分析

生产环境出现该报错的核心原因的是 系统密钥环残留冲突,具体如下:

  1. MySQL 8.0.45 版本对 GPG 密钥校验更严格,需匹配官方 2022/2023 版密钥;
  2. 系统此前可能安装过 MySQL 旧版本、旧 YUM 源,导致密钥环中残留旧版 MySQL 密钥(如 0x5072E1F5 旧密钥);
  3. 残留旧密钥与 MySQL 8.0.45 包所需的新密钥冲突,即使重新导入新密钥,系统仍会优先校验残留旧密钥,导致报错;
  4. YUM 缓存中留存了旧的密钥校验信息,未彻底清理,进一步加剧冲突。

三、解决方案(生产环境合规版)

核心思路:彻底清理所有 MySQL 相关残留密钥 → 导入 MySQL 官方全量密钥 → 强制刷新 YUM 缓存 → 正常安装 MySQL 8.0.45,全程保留 GPG 验证,符合生产环境安全规范。

步骤 1:清理系统中所有 MySQL 相关 GPG 密钥(关键步骤)

执行以下命令,批量列出并删除密钥环中所有与 MySQL 相关的 GPG 密钥,彻底清除冲突根源(生产环境可安全执行,仅删除 MySQL 相关密钥,不影响其他软件):

# 批量列出并删除所有 MySQL 相关 GPG 密钥forkeyin$(rpm -qa gpg-pubkey |grep -i mysql |cut -d '-' -f 4-);dorpm -e --allmatches gpg-pubkey-$keydone

执行说明:

  • 命令会先通过 rpm -qa gpg-pubkey | grep -i mysql 列出所有 MySQL 相关密钥;
  • 通过 cut -d '-' -f 4- 提取密钥编号,再通过 rpm -e --allmatches 彻底删除该密钥(包括所有匹配的版本);
  • 执行后无报错即说明清理成功,若提示“未找到对应密钥”,说明系统中无残留,可直接进入下一步。

步骤 2:导入 MySQL 官方全量密钥(覆盖所有版本,避免遗漏)

清理完成后,重新导入 MySQL 官方全量密钥(包括旧版、2022 版、2023 版),确保与 MySQL 8.0.45 包的密钥校验完全匹配,执行以下命令:

# 下载 MySQL 官方基础密钥包并导入wget https://repo.mysql.com/RPM-GPG-KEY-mysql -O /tmp/RPM-GPG-KEY-mysql rpm --import /tmp/RPM-GPG-KEY-mysql # 导入 MySQL 2022 版官方密钥(适配 MySQL 8.0+ 新版本)rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 # 导入 MySQL 2023 版官方密钥(兼容 MySQL 8.0.45+ 高版本校验)rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2023 

执行说明:

  • 先下载基础密钥包到 /tmp 目录(避免直接覆盖系统默认路径,更安全),再导入;
  • 依次导入 2022、2023 版密钥,确保覆盖 MySQL 8.0.45 所需的所有校验密钥;
  • Linux 系统中,密钥导入成功后无任何输出,若提示“密钥已导入”,属于正常现象,无需重复操作。

步骤 3:强制清理 YUM 缓存(彻底清除旧校验信息)

仅执行 yum clean all 无法彻底清理密钥校验缓存,需手动删除缓存目录,再重新生成缓存,执行以下命令(生产环境可安全执行):

# 强制清理 YUM 所有缓存(包括包缓存、密钥校验缓存) yum clean all &&rm -rf /var/cache/yum/* # 重新生成 YUM 缓存(仅缓存 MySQL 官方源相关信息,避免混杂) yum makecache fast 

执行说明:

  • rm -rf /var/cache/yum/* 会彻底删除 YUM 缓存目录下的所有文件,确保旧的密钥校验信息被完全清除;
  • yum makecache fast 会快速生成新的缓存,缩短后续安装时间;
  • 缓存生成成功后,会显示 MySQL 8.0 仓库的包数量,说明缓存生成正常。

步骤 4:配置 MySQL 8.0 官方 YUM 源(确保源配置正确)

若此前已清理旧源配置,需重新创建 MySQL 8.0 官方 YUM 源配置文件,确保源地址和密钥地址正确,执行以下命令:

# 创建并写入 MySQL 8.0 官方 YUM 源配置cat> /etc/yum.repos.d/mysql-community.repo <<EOF [mysql80-community] name=MySQL 8.0 Community Server baseurl=https://repo.mysql.com/yum/mysql-8.0-community/el/7/x86_64/ enabled=1 gpgcheck=1 # 配置官方 2022 版密钥地址(与步骤 2 导入的密钥对应) gpgkey=https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 EOF

执行说明:该配置文件仅包含 MySQL 8.0 官方源,无多余干扰项,确保安装时从官方源下载包,且密钥地址与导入的密钥一致。

步骤 5:安装 MySQL 8.0.45 服务器(生产环境安全安装)

完成上述所有步骤后,密钥冲突已彻底解决,执行以下命令安装 MySQL 8.0.45,全程会正常进行 GPG 密钥验证,且验证会通过:

 yum install -y mysql-community-server 

安装说明:

  • 安装过程中,系统会自动校验包的 GPG 密钥,无需手动干预;
  • 若出现“导入 GPG 密钥”提示,直接按 y 确认即可(与步骤 2 导入的密钥一致);
  • 安装完成后,系统会自动配置 MySQL 相关依赖,无需额外操作。

四、安装后生产环境必做验证(合规性检查)

安装完成后,需执行以下验证步骤,确保 MySQL 服务正常、密钥校验合规、包完整,符合生产环境要求:

验证 1:查看 MySQL 版本,确认安装成功

 mysql --version 

正常输出示例(需包含 8.0.45 版本):

mysql Ver 8.0.45 for Linux on x86_64 (MySQL Community Server - GPL)

验证 2:启动 MySQL 服务并设置开机自启

# 启动 MySQL 服务 systemctl start mysqld # 设置开机自启(生产环境必做,避免服务器重启后服务失效) systemctl enable mysqld # 查看 MySQL 服务状态 systemctl status mysqld 

正常状态:输出中包含 active (running),无报错信息,说明服务启动正常。

验证 3:验证 GPG 密钥校验合规性

检查 MySQL 安装包的 GPG 校验状态,确保包未被篡改,符合生产环境安全要求:

# 验证 MySQL 核心包的 GPG 校验状态rpm -K /var/cache/yum/x86_64/7/mysql80-community/packages/mysql-community-common-8.0.45-1.el7.x86_64.rpm 

正常输出示例(需包含 pgp sha256 OK):

mysql-community-common-8.0.45-1.el7.x86_64.rpm: rsa sha1 (md5) pgp md5 OK

验证 4:修改初始密码(生产环境必做)

MySQL 8.0.45 安装后会生成临时初始密码,需立即修改为生产环境强密码(符合复杂度:大小写+数字+特殊字符,长度≥8):

# 提取初始密码(从 MySQL 日志中获取)temp_pass=$(grep'temporary password' /var/log/mysqld.log |awk'{print $NF}')# 登录 MySQL 并修改初始密码(一行命令执行,无需手动输入密码) mysql -uroot -p$temp_pass --connect-expired-password -e "ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourStrongPass@2026'; FLUSH PRIVILEGES;"

说明:将 YourStrongPass@2026 替换为生产环境实际使用的强密码,执行后无报错即说明密码修改成功。

五、常见问题补充(生产环境适配)

问题 1:执行密钥删除命令时,提示“无对应密钥”

原因:系统中无 MySQL 相关残留密钥,属于正常现象;

解决:直接跳过该步骤,进入“导入官方全量密钥”步骤即可。

问题 2:wget 下载密钥时提示“无法连接”

原因:生产环境服务器外网访问受限,无法访问 MySQL 官方地址;

解决:手动下载 https://repo.mysql.com/RPM-GPG-KEY-mysql 密钥文件,上传至服务器 /tmp 目录,再执行 rpm --import /tmp/RPM-GPG-KEY-mysql

问题 3:安装时仍提示密钥不匹配

原因:密钥缓存未彻底清除,或源配置与密钥地址不对应;

解决:重新执行“步骤 1-步骤 3”,确保密钥清理干净、缓存彻底刷新,再重新安装。

六、总结

  1. 核心结论:本文方案通过「彻底清理残留密钥+导入官方全量密钥+强制刷新缓存」,从根源解决了 CentOS 7 安装 MySQL 8.0.45 时的 GPG 密钥不匹配问题,全程保留 GPG 验证,符合生产环境安全合规要求;
  2. 关键要点:生产环境禁止跳过 GPG 验证,密钥冲突的核心是“残留旧密钥干扰”,彻底清理是解决问题的关键;
  3. 可复用性:本文所有命令均可直接复制执行,适配所有 CentOS 7 系统+MySQL 8.0.45 版本的密钥冲突场景,生产环境可直接复用;
  4. 后续建议:安装完成后,定期检查 MySQL 服务状态和密钥校验状态,确保生产环境 MySQL 运行稳定、安全。

Read more

2026年AI Agent实战:从玩具到生产力的落地手册(附源码)

2026年AI Agent实战:从玩具到生产力的落地手册(附源码)

欢迎文末添加好友交流,共同进步! “ 俺はモンキー・D・ルフィ。海贼王になる男だ!” * 前言 * 目录 * 一、AI Agent 的核心架构 * 1.1 什么是AI Agent? * 1.2 2026年Agent技术栈全景 * 二、从零搭建生产级Agent框架 * 2.1 项目结构设计 * 2.2 核心代码:Agent基类 * 2.3 记忆管理系统 * 三、三大核心技术实现 * 3.1 ReAct框架:推理+行动协同 * 3.2 工具调用系统 * 3.3 任务规划器 * 四、实战案例:智能客服Agent * 4.1 场景分析

By Ne0inhk
Trae AI IDE 全网最全的使用教程

Trae AI IDE 全网最全的使用教程

Trae AI IDE 全网最全的使用教程 近期,字节发布了一款 AI Coding 产品 —— Trae,它是一款对标 Cursor 和 Windsurf 的全新 IDE,也是一款真正为中文开发者量身定制的工具,可谓是中文开发者的福音。 其优雅的 UI、丝滑的交互、母语级的支持、更高的 AI 集成度、更‮然自‬的交‮式互‬对话开发、更‮‬精准的 AI 生‮效成‬果,都让你感到亲切和惊艳! 它不再是一个工具,而是一个能 “思考” 和 “共创” 的协作者,帮助你更灵活的调用 AI 参与项目,实现更高效率、更好效果的开发体验。 一、安装下载

By Ne0inhk
被问爆的Agent实战:从0到1搭建可落地AI智能体

被问爆的Agent实战:从0到1搭建可落地AI智能体

🎁个人主页:User_芊芊君子 🎉欢迎大家点赞👍评论📝收藏⭐文章 🔍系列专栏:AI 文章目录: * 【前言】 * 一、先搞懂:2026年爆火的AI Agent,到底是什么? * 1.1 Agent的核心定义 * 1.2 Agent的4大核心能力 * 1.3 2026年Agent的3个热门落地场景 * 二、框架选型:2026年6大主流Agent框架,新手该怎么选? * 三、实战环节:从0到1搭建可落地的“邮件处理Agent”(全程代码+步骤) * 3.1 实战准备:环境搭建(10分钟搞定) * 3.1.1 安装Python环境 * 3.1.2 创建虚拟环境(避免依赖冲突) * 3.

By Ne0inhk
人工智能:自然语言处理与计算机视觉的融合应用

人工智能:自然语言处理与计算机视觉的融合应用

人工智能:自然语言处理与计算机视觉的融合应用 学习目标 💡 理解自然语言处理(NLP)与计算机视觉(CV)融合的基本概念和重要性 💡 掌握NLP与CV融合的主要方法和技术 💡 学会使用前沿模型(如CLIP、ALIGN、ViLT)进行多模态融合 💡 理解融合应用的场景(如图像字幕生成、视觉问答、多模态检索) 💡 通过实战项目,开发一个图像字幕生成应用 重点内容 * NLP与CV融合的基本概念 * 主要融合方法和技术 * 前沿融合模型(CLIP、ALIGN、ViLT) * 融合应用场景(图像字幕生成、视觉问答、多模态检索) * 实战项目:图像字幕生成应用开发 一、NLP与CV融合的基本概念 1.1 多模态学习的重要性 多模态学习(Multimodal Learning)是指处理和理解来自多个模态(如文本、图像、音频)的数据的过程。NLP与CV的融合是多模态学习的一个重要分支,它结合了文本理解和图像分析的能力,使计算机能够更全面地理解和解释现实世界的信息。 1.

By Ne0inhk