MySQL-server-5.5.46-1.linux2.6.x86_64.rpm:Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY警告的解决

CentOS安装MySQL RPM包问题
本文介绍了解决CentOS安装MySQL RPM包时遇到的警告和依赖错误的方法,包括更新GPGkeys、安装缺失的libaio库以及正确的安装顺序。

CentOS安装rpm安装MySQL时爆出警告:


警告:MySQL-server-5.5.46-1.linux2.6.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY


原因:这是由于yum安装了旧版本的GPG keys造成的

解决办法:在语句后面加上:

 --force --nodeps

如:

 rpm -ivh MySQL-server-5.5.46-1.linux2.6.x86_64.rpm --force --nodeps


从 RPM 版本 4.1 开始,在安装或升级软件包时会检查软件包的签名。如果签名校验失败,你就会看到如下所示 

的错误消息: 

error: V3 DSA signature: BAD, key ID 0352860f 
如果它是新的、只针对文件头的签名,你会看到如下所示的错误消息: 

error: Header V3 DSA signature: BAD, key ID 0352860f 
如果你没有安装合适的钥匙来校验签名,消息中就会包含 NOKEY ,如: 

warning: V3 DSA signature: NOKEY, key ID 0352860f 

在CentOS下有的时候用yum安装软件的时候最后会提示: 

引用 
warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY, key ID***** 


这是由于yum安装了旧版本的GPG keys造成的,解决办法就是 

引用 
rpm --import /etc/pki/rpm-gpg/RPM* 

再安装软件就不会有这个错误提示了。

另一种报错:

[plain]  view plain  copy
  1. [root@zzs36 mysql-5.7.13-1.el7.x86_64.rpm-bundle]# rpm -ivh mysql-community-server-5.7.13-1.el7.x86_64.rpm   
  2. warning: mysql-community-server-5.7.13-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY  
  3. error: Failed dependencies:  
  4.     libaio.so.1()(64bit) is needed by mysql-community-server-5.7.13-1.el7.x86_64  
  5.     libaio.so.1(LIBAIO_0.1)(64bit) is needed by mysql-community-server-5.7.13-1.el7.x86_64  
  6.     libaio.so.1(LIBAIO_0.4)(64bit) is needed by mysql-community-server-5.7.13-1.el7.x86_64  
  7.     mysql-community-client(x86-64) >= 5.7.9 is needed by mysql-community-server-5.7.13-1.el7.x86_64 

问题分析:看报错,libaio.so.1 在安装时需要被应用进来,说明需要安装这个库。

1)下载库:libaio-0.3.107-10.el6.x86_64.rpm

2)安装库:rpm -ivh libaio-0.3.107-10.el6.x86_64.rpm

3)   需要检查环境中是否安装了mysql的其他包:

    rpm -qa | grep mysql

    rpm -qa | grep Mysql

    rpm -qa | grep maridb

    如果安装了,需要进行卸载: rpm -e --nodeps XXXXX

4) 依次安装rpm包:

[plain]  view plain  copy
  1. rpm -ivh libaio-0.3.109-13.el7.x86_64.rpm   
  2. rpm -ivh mysql-community-common-5.7.13-1.el7.x86_64.rpm  
  3. rpm -ivh mysql-community-libs-5.7.13-1.el7.x86_64.rpm  
  4. rpm -ivh mysql-community-client-5.7.13-1.el7.x86_64.rpm  
  5. rpm -ivh mysql-community-server-5.7.13-1.el7.x86_64.rpm  

<think>我们面对的是MySQL社区服务器5.7.24的RPM包在CentOS/RHEL7系统上安装时出现的两个问题:1.NOKEY警告警告HeaderV3DSA/SHA1Signature,keyID5072e1f5:NOKEY2.依赖错误(Faileddependencies)根据引用[1][2][3]提供的信息,我们可以确定:-NOKEY警告是由于缺少GPG密钥验证引起的-依赖错误是缺少必要的依赖包,如perl、libaio等解决方案分为两个步骤:###步骤1解决NOKEY警告引用[3]提到可以通过添加`--force--nodeps`参数忽略警告,但这会跳过依赖检查。更安全的方式是导入MySQL官方GPG密钥:```bashsudorpm--importhttps://repo.mysql.com/RPM-GPG-KEY-mysql-2022```###步骤2解决依赖错误引用[1]显示需要安装perl相关依赖,引用[2]显示需要安装libaio库。具体操作:1.安装基础依赖:```bashsudoyuminstall-yperllibaionet-tools```2.安装perl模块(Getopt::Long和strict是Perl核心模块,通常安装perl包就会包含):```bashsudoyuminstall-yperlperl-Data-Dumperperl-JSON```3.验证依赖是否满足(可选):```bashrpm-qpRmysql-community-server-5.7.24-1.el7.x86_64.rpm```###完整安装流程```bash#1.导入GPG密钥sudorpm--importhttps://repo.mysql.com/RPM-GPG-KEY-mysql-2022#2.安装依赖sudoyuminstall-yperllibaionet-tools#3.安装mysql-community-server(确保当前目录有该rpm文件)sudorpm-ivhmysql-community-server-5.7.24-1.el7.x86_64.rpm```###注意事项1.如果仍然存在依赖冲突(如与mariadb冲突),需先移除冲突包:```bashsudorpm-e--nodepsmariadb-libs-*```2.引用[4]显示安装过程可能会跳过密钥检查,这是因为系统已经信任了该包(或之前导入过密钥)###安装后操作1.启动MySQL服务:```bashsudosystemctlstartmysqld```2.获取初始密码:```bashsudogrep&#39;temporarypassword&#39;/var/log/mysqld.log```3.运行安全配置:```bashsudomysql_secure_installation```§§相关问题§§1.如何验证MySQLGPG密钥的有效性?2.如何解决安装过程中的其他未满足依赖?3.MySQL5.7安装后如何进行性能调优?</think> 针对 `mysql-community-server-5.7.24-1.el7.x86_64.rpm` 安装时的 **NOKEY 警告**和 **依赖错误**,以下是系统性的解决方案: --- ### 🔍 问题分析(基于引用[1][2][3]) 1. **NOKEY 警告** `warning: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY` 表示系统未验证 RPM 包的官方签名(MySQL GPG 密钥缺失)[^3]。 2. **依赖错误** `Failed dependencies` 包含三类问题: - **Perl 缺失**:`/usr/bin/perl`、`perl(Getopt::Long)`、`perl(strict)`[^1] - **库文件缺失**:`libaio.so.1` 及相关符号[^2] - **工具缺失**:`net-tools`(网络工具包) --- ### 🛠️ 完整解决方案 #### ✅ 步骤1解决签名验证问题(NOKEY) ```bash # 导入 MySQL 官方 GPG 密钥 sudo rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 ``` #### ✅ 步骤2安装所有缺失依赖 ```bash # 一次性安装全部依赖 sudo yum install -y perl libaio net-tools perl-Data-Dumper # 验证 Perl 模块是否存在 perl -MGetopt::Long -e &#39;print "OK\n"&#39; # 应输出 OK ``` #### ✅ 步骤3:清理冲突包(关键步骤) ```bash # 强制移除冲突的 MariaDB 库(CentOS7 默认存在) sudo rpm -e --nodeps mariadb-libs-* ``` #### ✅ 步骤4:正式安装 MySQL ```bash # 安装 RPM 包(建议使用完整命令) sudo rpm -ivh mysql-community-server-5.7.24-1.el7.x86_64.rpm \ --nodeps --force ``` > 📌 参数说明: > `--nodeps`:跳过依赖检查(因已手动安装) > `--force`:覆盖冲突文件 --- ### 🔧 安装后验证 1. **检查服务状态**: ```bash sudo systemctl start mysqld sudo systemctl status mysqld # 应显示 active (running) ``` 2. **获取初始密码**: ```bash sudo grep &#39;temporary password&#39; /var/log/mysqld.log ``` 3. **运行安全配置**: ```bash sudo mysql_secure_installation ``` --- ### ⚠️ 注意事项 1. **离线环境**: 需提前下载依赖包: ```bash yum install --downloadonly --downloaddir=./ perl libaio net-tools ``` 2. **依赖树检查**(排查其他潜在问题): ```bash rpm -qpR mysql-community-server-5.7.24-1.el7.x86_64.rpm ``` 3. **签名有效期**: MySQL 5.7 使用密钥 ID `5072e1f5`,若提示过期: ```bash sudo rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql ``` > 💡 **引用[3][4]说明**: > 直接使用 `--force --nodeps` 可快速跳过错误,但需确保已解决核心依赖[^3],否则可能导致服务异常。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值