记录无法安装mysql-Invalid GPG Key from file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql的解决办法

  • Post category:Linux

当在使用yum安装mysql时,有些用户会遇到以下的错误:

warning: /var/cache/yum/x86_64/7/mysql57-community/packages/mysql-community-common-5.7.28-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Error: Public key for mysql-community-common-5.7.28-1.el7.x86_64.rpm is not installed

这是因为在yum源中下载mysql包的过程中,遇到了没有公钥的安装包,而yum默认是需要验证这些包的。针对这个问题,我们需要做如下的解决办法:

解决方案

方案一:手动导入GPG公钥

手动下载GPG公钥,然后导入到本地。

  1. 下载GPG公钥

我们可以从MySQL官网上下载GPG公钥,使用下面的命令。

$ wget https://repo.mysql.com/RPM-GPG-KEY-mysql

也可以通过yum命令下载,使用如下命令:

$ yum install mysql-community-release-el7-5.noarch.rpm

该命令会自动下载GPG公钥并导入到本地。

  1. 导入GPG公钥

使用下面的命令将下载到的GPG公钥导入到本地。

$ rpm --import RPM-GPG-KEY-mysql

方案二:临时取消验证

如果你不想手动导入公钥,也可以在使用yum时临时取消验证。使用如下命令:

$ yum install --nogpgcheck mysql-community-server

上述命令将在安装MySQL Server时跳过GPG公钥验证。

示例说明

示例一:手动导入GPG公钥

假设我们在CentOS7下安装MySQL,使用如下命令。

$ yum install mysql-community-server

在执行上述命令时,可能会遇到HeaderV3DSA/SHA1Signature的错误信息,即:

warning:/var/cache/yum/x86_64/7/mysql57-community/packages/mysql-community-common-5.7.28-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Public key for mysql-community-common-5.7.28-1.el7.x86_64.rpm is not installed

此时,我们可以手动导入GPG公钥。使用如下命令。

$ wget https://repo.mysql.com/RPM-GPG-KEY-mysql
$ rpm --import RPM-GPG-KEY-mysql

然后再次执行安装命令:

$ yum install mysql-community-server

此时,就可以成功安装了。

示例二:临时取消验证

假设我们在CentOS7下安装MySQL,使用如下命令。

$ yum install mysql-community-server

在执行上述命令时,可能会遇到HeaderV3DSA/SHA1Signature的错误信息,即:

warning:/var/cache/yum/x86_64/7/mysql57-community/packages/mysql-community-common-5.7.28-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Public key for mysql-community-common-5.7.28-1.el7.x86_64.rpm is not installed

此时,我们可以临时取消GPG公钥验证。使用如下命令。

$ yum install --nogpgcheck mysql-community-server

然后,就可以成功安装了。