当在使用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公钥,然后导入到本地。
- 下载GPG公钥
我们可以从MySQL官网上下载GPG公钥,使用下面的命令。
$ wget https://repo.mysql.com/RPM-GPG-KEY-mysql
也可以通过yum命令下载,使用如下命令:
$ yum install mysql-community-release-el7-5.noarch.rpm
该命令会自动下载GPG公钥并导入到本地。
- 导入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
然后,就可以成功安装了。