CentOS8でdnfコマンドでMySqlのアップデートで「エラー: GPG の確認に失敗しました」のエラーが発生した時の対処法を残しておきます。
1. エラー発生
CentOS8でdnf upgrade -y
のコマンドで以下のエラーが発生しました。
[root@centos8 ~]# dnf upgrade -y
~~~~~~
~ 省略 ~
~~~~~~
(938-939/940): linux 92% [================== ] 38 MB/s | 1.0 GB 00:02 ETA(938-940/940): mysql 93% [==================- ] 38 MB/s | 1.0 GB 00:02 ETA(938-940/940): mysql 93% [==================- ] 37 MB/s | 1.0 GB 00:01 ETA(938-940/940): mysql 94% [==================- ] 37 MB/s | 1.1 GB 00:01 ETA(938/940): mysql-community-client-8.0.28-1.el8. 11 MB/s | 14 MB 00:01
(939-940/940): mysql 95% [=================== ] 37 MB/s | 1.1 GB 00:01 ETA(939-940/940): mysql 96% [=================== ] 37 MB/s | 1.1 GB 00:01 ETA(939-940/940): mysql 97% [=================== ] 37 MB/s | 1.1 GB 00:00 ETA(939/940): linux-firmware-20210702-103.gitd79c2 19 MB/s | 161 MB 00:08
(940/940): mysql-com 97% [===================-] 33 MB/s | 1.1 GB 00:00 ETA(940/940): mysql-com 98% [===================-] 33 MB/s | 1.1 GB 00:00 ETA(940/940): mysql-community-server-8.0.28-1.el8. 18 MB/s | 53 MB 00:03
--------------------------------------------------------------------------------
合計 38 MB/s | 1.1 GB 00:29
警告: /var/cache/dnf/mysql80-community-b1f1ed5ba88ce0f8/packages/mysql-community-client-plugins-8.0.28-1.el8.x86_64.rpm: ヘッダー V4 RSA/SHA256 Signature、鍵 ID 3a79bd29: NOKEY
MySQL 8.0 Community [=== ] --- B/s | 0 B --:-- ETAMySQL 8.0 Community Server 1.1 MB/s | 27 kB 00:00
file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql (0x5072E1F5) の GPG 鍵はインストール済みです
"MySQL 8.0 Community Server" リポジトリーに一覧表示されている GPG 鍵はインストール済みですが、このパッケージには適切ではありません。
正しい鍵 URL がこのリポジトリー用に設定されているか確認してください。. 失敗したパッケージは: mysql-community-client-plugins-8.0.28-1.el8.x86_64
GPG 鍵が設定されています: file:///etc/pki/rpm-gpg/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 鍵が設定されています: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
mysql-community-client-8.0.28-1.el8.x86_64.rpm の公開鍵がインストールされていません. 失敗したパッケージは: mysql-community-client-8.0.28-1.el8.x86_64
GPG 鍵が設定されています: file:///etc/pki/rpm-gpg/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 鍵が設定されています: file:///etc/pki/rpm-gpg/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 鍵が設定されています: file:///etc/pki/rpm-gpg/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 鍵が設定されています: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
ダウンロード済みのパッケージは、次の正常なトランザクションまでキャッシュに保存されました。
'dnf clean packages' を実行することでキャッシュパッケージを削除できます。
エラー: GPG の確認に失敗しました
[root@centos8 ~]#
2. 原因
MySQLのGPGキーの有効期限切れのためのようです。
MySQL8.0.28では新しいキーで署名されているようです。
3. 解決方法
以下のコマンドでmysqlのGPGキーをインポートします。
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
実行結果
[root@centos8 ~]# rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
[root@centos8 ~]#
再度、dnf upgrade -y
のコマンドを実行すると、正常にアップデートされました。
参考
MySQL Bugs: #106188: The MySQL GPG key seems to be incorrect