MySQL GPG密鑰過期問題及解決方案
記錄make中的一次報(bào)錯(cuò)~~
剛剛centos7在執(zhí)行make時(shí)遇到以下報(bào)錯(cuò):

fatal error: mysql/mysql.h: No such file or directory #include<mysql/mysql.h> compilation terminated.
原因是找不到mysql.h頭文件,于是使用以下命令安裝對(duì)應(yīng)的包:
sudo yum install mysql-devel
但是卻出現(xiàn)了如下的報(bào)錯(cuò):
只能說翻來覆去找了很久都沒找到有用的方法,還是得StackOverflow

Downloading packages: warning: /var/cache/yum/x86_64/7/mysql57-community/packages/mysql-community-devel-5.7.37-1.el7.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID 3a79bd29: NOKEY Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql The GPG keys listed for the "MySQL 5.7 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-devel-5.7.37-1.el7.x86_64 GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql ==翻譯:== 警告:/var/cache/yum/ x86_64/7/mysql57-community/packages/mysql-community-libs-compat-5.7.37-1.el7.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID 3a79bd29: NOKEY Retrieving key from file:/// etc/pki/rpm-gpg/RPM-GPG-KEY-mysql 為“MySQL 5.7 社區(qū)服務(wù)器”存儲(chǔ)庫列出的 GPG 密鑰已經(jīng)安裝,但它們對(duì)于這個(gè)包不正確。 檢查是否為此存儲(chǔ)庫配置了正確的密鑰 URL。 失敗的包是:mysql-community-libs-compat-5.7.37-1.el7.x86_64 GPG 密鑰配置為:file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
癥狀
官方 MySQL 存儲(chǔ)庫的 GPG 密鑰已過期,無法安裝或更新 MySQL 包。
為 “MySQL 5.7 社區(qū)服務(wù)器” 存儲(chǔ)庫列出的 GPG 密鑰已經(jīng)安裝,但它們對(duì)于這個(gè)包不正確
錯(cuò)誤類似于:
為“MySQL 8.0 社區(qū)服務(wù)器”存儲(chǔ)庫列出的 GPG 密鑰已安裝,但對(duì)于此包來說它們不正確。檢查是否為此存儲(chǔ)庫配置了正確的密鑰 URL。失敗的包是:mysql-community-client-8.0.28-1.el8.x86_64 GPG 密鑰配置為:http://repo.mysql.com/RPM- GPG-KEY-mysql未安裝 mysql-community-client-plugins-8.0.28-1.el8.x86_64.rpm 的公鑰。失敗的包是:mysql-community-client-plugins-8.0.28-1.el8.x86_64 GPG 密鑰配置為:http://repo.mysql.com/RPM-GPG-KEY-mysql mysql-community 的公鑰-common-8.0.28-1.el8.x86_64.rpm 未安裝。失敗的包是:mysql-community-common-8.0.28-1.el8.x86_64 GPG 密鑰配置為:http://repo.mysql.com/RPM-GPG-KEY-mysql未安裝 mysql-community-devel-8.0.28-1.el8.x86_64.rpm 的公鑰。失敗的包是:mysql-community-devel-8.0.28-1.el8.x86_64 GPG 密鑰配置為:http://repo.mysql.com/RPM-GPG-KEY-mysql mysql-community-icu 的公鑰-data-files-8.0.28-1.el8.x86_64.rpm 未安裝。失敗的包是:mysql-community-icu-data-files-8.0.28-1.el8.x86_64 GPG 密鑰配置為:http://repo.mysql.com/RPM-GPG-KEY-mysql mysql 的公鑰-community-libs-8.0.28-1.el8.x86_64.rpm 未安裝。失敗的包是:mysql-community-libs-8.0.28-1.el8.x86_64 GPG 密鑰配置為:http://repo.mysql.com/RPM-GPG-KEY-mysql未安裝 mysql-community-server-8.0.28-1.el8.x86_64.rpm 的公鑰。失敗的包是:mysql-community-server-8.0.28-1.el8.x86_64 GPG 密鑰配置為:http://repo.mysql.com/RPM-GPG-KEY-mysql 錯(cuò)誤:GPG 檢查失敗
描述
MySQL GPG 密鑰已過期。有關(guān)案例的其他詳細(xì)信息也可以在 MySQL 網(wǎng)站上找到: https://bugs.mysql.com/bug.php?id=106188
解決方法
Note
If you are using RPM 4.1 and it complains about (GPG) NOT OK (MISSING KEYS: GPG#3a79bd29), even though you have imported the MySQL public build key into your own GPG keyring, you need to import the key into the RPM keyring first. RPM 4.1 no longer uses your personal GPG keyring (or GPG itself). Rather, RPM maintains a separate keyring because it is a system-wide application and a user’s GPG public keyring is a user-specific file. To import the MySQL public key into the RPM keyring, first obtain the key, then use rpm --import to import the key. For example:
可以在運(yùn)行安裝程序之前導(dǎo)入密鑰:
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
Ubuntu:
wget -q -O - https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 | apt-key add -
之后再執(zhí)行yum install mysql-devel 就over了

makefile:


總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
MySQL系列理解運(yùn)用union(all)與limit及exists關(guān)鍵字教程
這篇文章主要為大家介紹了MySQL系列中union(all)、limit及exists關(guān)鍵字的教程示例講解,通過本篇文章就可以理解MySQL中的這些關(guān)鍵字的概念以及實(shí)際的運(yùn)用2021-10-10
Windows系統(tǒng)下mysql5.7.21安裝詳細(xì)教程
這篇文章主要為大家詳細(xì)介紹了Windows系統(tǒng)下mysql5.7.21安裝詳細(xì)教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-02-02
MySQL創(chuàng)建和刪除數(shù)據(jù)表的命令及語法詳解
這篇文章主要介紹了MySQL創(chuàng)建和刪除數(shù)據(jù)表的命令及語法,是MySQL入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-11-11

