linux系统中安装 mysql 获取密钥GPG失败问题

博主在安装MySQL 5.7时遇到错误14,通过修改yum配置文件禁用GPG检查解决了问题。详细步骤包括编辑mysql-community.repo文件,将gpgcheck设置为0,然后成功启动mysqld服务,但因个人习惯输入错误的启动命令导致了额外的困扰。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

插个眼,哈哈

 图中的安装

根据MySQL官方文档指导使用   yum install mysql-community-server 命令下载安装mysql 出现上图中问题(错误14),

解决办法:将gpgcheck从1改成了0

vi /etc/yum.repos.d/mysql-community.repo

因为我所才哟个的mysql 的版本时5.7 ,故将gpgcheck从1改成了0,问题得以解决,也就是不进行GPG检查了。

在重新启动的时候大家一定要注意一个小细节 

启动mysql 是 : systemctl start mysqld.service  

而不是systemctl start mysql.service (这是我自己手打代码,因为习惯了mysql,没有复制MySQL安装指南里面的代码,又给自己挖的坑,让我找了几天问题,啊啊啊我要气死,浪费了我的宝贵时间 此时晚上1:04,呜呜气死了)

 

<think>嗯,用户之前询问了如何在CentOS上安装MySQL,现在遇到了安装失败问题,特别是获取密钥失败。首先,我需要确定用户遇到的具体错误。通常,当使用YUM安装MySQL时,可能会因为GPG密钥验证失败而出现错误,比如提示“GPG key retrieval failed”或者“Public key for mysql-community-server.rpm is not installed”。 接下来,我得考虑可能的原因。首先想到的是网络问题,可能用户无法连接到密钥服务器,导致无法下载GPG密钥。其次是密钥过期或变更,特别是如果用户使用的是较旧的MySQL仓库,可能密钥已经被更新替换了。另外,用户可能没有正确导入MySQLGPG密钥,或者在安装过程中跳过了密钥验证,这也会导致问题。 然后,我需要针对这些可能的原因提供解决方案。第一步通常是手动导入最新的GPG密钥。例如,使用rpm --import命令从MySQL官网下载并导入密钥。如果手动导入后仍然失败,可能需要检查仓库配置是否正确,确保仓库URL是最新的,没有拼写错误。如果网络连接有问题,可以尝试更换密钥服务器地址,比如使用备份的MIT或Ubuntu的密钥服务器。 另外,用户可能在安装时添加了--nogpgcheck选项,但这不安全,只能作为临时解决方案。还需要提醒用户注意安全性,安装后及时验证软件包的完整性。 此外,用户可能遇到旧版本仓库的问题,特别是如果之前配置过其他版本的MySQL仓库,可能需要禁用旧仓库,启用正确的仓库。最后,如果所有方法都无效,建议用户检查网络连接,或者尝试手动下载RPM包进行安装,避免依赖在线仓库。 需要确保步骤清晰,提供具体的命令示例,方便用户直接复制执行。同时,提醒用户注意安全,尽量避免跳过GPG检查,除非必要情况下。还要考虑用户可能对Linux命令不太熟悉,所以每个步骤都要详细说明,避免歧义。 最后,总结常见原因和对应的解决方案,帮助用户快速定位问题。可能还需要提到如果问题依旧存在,可以查看具体的错误日志,比如/var/log/yum.log,或者提供进一步帮助的渠道,比如社区支持或官方文档链接。</think>以下是针对MySQL安装过程中出现"获取密钥失败"问题的详细解决方案: --- ### **问题现象** 当执行 `sudo yum install mysql-server` 时可能出现以下错误: ```bash Public key for mysql-community-server-*.rpm is not installed Failing package is: mysql-community-server-* GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql ``` --- ### **原因分析** 1. **GPG密钥过期**:MySQL仓库密钥定期更新 2. **网络限制**:无法连接密钥服务器(keyserver.ubuntu.com等) 3. **仓库配置错误**:RPM仓库文件中的密钥路径不正确 4. **系统时间错误**:系统时钟不同步导致SSL验证失败 --- ### **解决方案** #### **方法1:手动导入GPG密钥** ```bash # 下载最新密钥 sudo rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2023 # 验证密钥 rpm -qi gpg-pubkey-3a79bd29-* | grep -E 'Release|Date' ``` #### **方法2:更新仓库配置** 1. 检查仓库文件: ```bash sudo vi /etc/yum.repos.d/mysql-community.repo ``` 确认包含以下内容: ```ini [mysql80-community] gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2023 ``` 2. 清理缓存: ```bash sudo yum clean all sudo rm -rf /var/cache/yum sudo yum makecache ``` #### **方法3:临时绕过验证(不推荐)** ```bash sudo yum install mysql-server --nogpgcheck ``` ⚠️ 警告:这会降低系统安全性,仅用于测试环境 #### **方法4:更换密钥服务器** ```bash sudo rpmkeys --import https://pgp.mit.edu/pks/lookup?op=get&search=0x467B942D3A79BD29 ``` 或使用国内镜像: ```bash sudo rpm --import http://mirrors.ustc.edu.cn/mysql-repo/RPM-GPG-KEY-mysql ``` --- ### **高级排查步骤** 1. 检查系统时间: ```bash timedatectl status # 如果时间错误执行 sudo ntpdate pool.ntp.org ``` 2. 验证仓库配置: ```bash yum repolist all | grep mysql ``` 正确输出应包含: ```bash mysql80-community/mysql-8.0-community enabled ``` 3. 查看详细错误日志: ```bash tail -n 50 /var/log/yum.log ``` --- ### **常见错误对照表** | 错误代码 | 解决方案 | |---------|---------| | `ERR_CERT_DATE_INVALID` | 更新系统时间 `sudo chronyd -q 'server ntp.aliyun.com iburst'` | | `CURLE_OPERATION_TIMEOUTED` | 检查防火墙设置 `sudo firewall-cmd --list-all` | | `KEYEXPIRED 0x467B942D3A79BD29` | 执行 `sudo rpm -e gpg-pubkey-3a79bd29-*` 后重新导入 | --- ### **推荐做法** 1. 生产环境建议使用完整仓库配置: ```bash sudo yum install https://dev.mysql.com/get/mysql80-community-release-el7-6.noarch.rpm ``` 2. 定期更新密钥: ```bash sudo rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-$(date +%Y) ``` --- ### **验证安装** 成功导入密钥后,应该可以正常执行: ```bash sudo yum install mysql-server -y ``` 安装完成后检查: ```bash rpm -qi mysql-community-server | grep 'Signature' ``` 应显示:`RSA/SHA256, 2023-xx-xx, Key ID a832........` 如果问题仍然存在,建议检查网络代理设置或尝试[手动下载安装包](https://downloads.mysql.com/archives/community/)进行安装
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值