0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

mysqlをインストールしたら「一致した引数がありません」のエラーが発生した

0
Posted at

はじめに

AWSのEC2 インスタンスに MySQL 8.0 をインストールしようとしたところ、
以下のエラーで失敗しました。

sudo dnf -y install mysql mysql-community-server

一致した引数がありません: mysql(No match for argument: mysql)

環境

項目 内容
OS Amazon Linux 2023
インスタンスタイプ t3.micro
インストール対象 MySQL 8.0 (mysql-community-server)
接続環境 AWS CloudShell から接続

原因

Amazon Linux 2023 でよく起きます。
AL2023 の標準リポジトリには MySQL が含まれていない(代わりに MariaDB が入っている)

OSを確認

less /etc/os-release
## Amazon Linux 2023の表示あり

解決方法

MySQL8.0をインストールする場合

1. MySQLリポジトリを追加

AL2023はRHEL/Fedora 9系ベースなので el9 を使用する

sudo dnf install -y https://dev.mysql.com/get/mysql80-community-release-el9-1.noarch.rpm

2. GPGキーをインポート

このまま再度インストールを実行しても、GPGのエラーが発生します

sudo dnf -y install mysql mysql-community-server
## (一部省略)

鍵のインポートに成功しました
鍵をインポートしても役に立ちませんでした。鍵が間違っていませんか?
mysql-community-client-8.0.46-1.el9.x86_64.rpm の公開鍵がインストールされていません. 失敗したパッケージは: mysql-community-client-8.0.46-1.el9.x86_64
 GPG 鍵が設定されています: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2022
mysql-community-client-plugins-8.0.46-1.el9.x86_64.rpm の公開鍵がインストールされていません. 失敗したパッケージは: mysql-community-client-plugins-8.0.46-1.el9.x86_64
 GPG 鍵が設定されています: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2022
mysql-community-common-8.0.46-1.el9.x86_64.rpm の公開鍵がインストールされていません. 失敗したパッケージは: mysql-community-common-8.0.46-1.el9.x86_64
 GPG 鍵が設定されています: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2022
mysql-community-libs-8.0.46-1.el9.x86_64.rpm の公開鍵がインストールされていません. 失敗したパッケージは: mysql-community-libs-8.0.46-1.el9.x86_64
 GPG 鍵が設定されています: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2022
ダウンロード済みのパッケージは、次の正常なトランザクションまでキャッシュに保存されました。
'dnf clean packages' を実行することでキャッシュパッケージを削除できます。
エラー: GPG の確認に失敗しました。

リポジトリが参照している鍵が 2022年版 ですが、MySQLは鍵を2023年版に更新しています。
だから 「鍵をインポートしても役に立ちませんでした」というエラーになります。
(古い鍵では新しいパッケージの署名を検証できないため)
以下のコマンドを実行してパッケージを更新します。

sudo rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2023
## ダウンロード済みパッケージをキャッシュから削除
sudo dnf clean packages

3. 再インストール

これでリポジトリにパッケージがあるのでインストールが成功します。

sudo dnf -y install mysql mysql-community-server

補足

  • 起動と自動起動設定
sudo systemctl start mysqld
sudo systemctl enable mysqld
sudo systemctl status mysqld
  • 初期パスワードの確認

## MySQL 8.0 は初回起動時にrootの仮パスワードを自動生成される
sudo grep 'temporary password' /var/log/mysqld.log

## その後セキュア設定
sudo mysql_secure_installation

まとめ

Amazon Linux 2023 で MySQL をインストールする際は、以下の2つのつまずきポイントがありました。

  1. AL2023 の標準リポジトリに MySQL は含まれていない(代わりに MariaDB が入っている)
    → MySQL 公式リポジトリを追加する必要がある
  2. 追加した公式リポジトリが古いGPG鍵(2022年版)を参照している
    → 最新の鍵(2023年版)をインポートして解決

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?