ブログ
【MySQL】GPGエラーについて
こんにちは!
今回はあるプロジェクトのローカル開発環境を作り直そうとした時につまづいたエラーについて書いていきます。
背景
前述した通り、あるローカルの開発環境を作り直そうとしており、開発環境はDockerで作成していたため、下記の手順で再構築を行なっていました。
docker-compose down --volumes --remove-orphans
docker-compose build --no-cache
構築しようとしてたところ以下のエラーが発生。
error: package mysql-shell-8.0.36-1.el8.x86_64 cannot be verified and repo mysql-tools-community is GPG enabled: /var/cache/yum/metadata/mysql-tools-community-8-x86_64/packages/mysql-shell-8.0.36-1.el8.x86_64.rpm could not be verified.
/var/cache/yum/metadata/mysql-tools-community-8-x86_64/packages/mysql-shell-8.0.36-1.el8.x86_64.rpm: digest: SIGNATURE: NOT OK
エラー内容の確認
とりあえずエラー文を読んでみると以下のような内容が書いてありました。(Google翻訳)
- パッケージ mysql-shell-8.0.36-1.el8.x86_64 を検証できません。
- mysql-tools-community は GPG が有効です。
- mysql-shell-8.0.36-1.el8.x86_64.rpm: ダイジェスト: 署名: OK ではありません。
よくわかりませんが、何となく鍵などが有効ではなくなったんだろうなと…
試したこと
上記エラーについて調べていくと、GPGキーというものが2022年の2月あたりで更新されたとのことで、以下のコマンドで更新できると書いてありました。
sudo rpm –import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
なるほど!そんなことが…!
早速Dockerfileに以下を記述し、再度構築を行いました。
RUN rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
………
何も変わらずエラーになりました。出直してきます。
よくよく考えるとこの環境は2022年12月に作ったものなので、上記で通ればそもそもこのエラーにはなっていないですね。
なので、2022年2月から2024年の現在までで更新されていないかを確認しましたところ、2023年に更新されておりました!
先ほどの2022の部分を2023に変えるだけみたいなので、同じようにDockerfileに以下を記述。
RUN rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2023
………
問題なく構築できました!(やった〜!)
補足
お恥ずかしながらGPGという単語を初めて見たので、調べてみました。
「GnuPG」(GNU Privacy Guard)という暗号化ソフトで生成される公開鍵です。Linuxの場合,apt-getコマンドやyumコマンドを使ってインターネットから入手できるパッケージが正しい配布先のものかどうかのチェックなどに利用しています。
https://xtech.nikkei.com/it/article/Keyword/20091204/341579/
日頃からよく使ってるということですね…勉強不足でした。
最後に
今回はMySQLのGPGエラーの対処法について書かせていただきました。
初めて見たエラーでしたが、調べてみると普段何気なく使っているものでした。
何気なく使っていても、何が行われているのかなども知る必要があるなと改めて感じました。
もっと勉強頑張ります!
株式会社ウイングドアは福岡のシステム開発会社です。
現在、私達と一緒に"楽しく仕事が出来る仲間"として、新卒・中途採用を絶賛募集しています!
ウイングドアの仲間達となら楽しく仕事できるかも?と興味をもった方、
お気軽にお問い合わせ下さい!