初心者向け!EC2(Amazon Linux2023)にMySQL8.0をセットアップ!

AWS
この記事は約6分で読めます。

こんにちは、@Manabu です。

Manabu
Manabu

Amazon Linux2のサポート期間が一年を切ってしまった…

AWSで開発をされている方で、こう思っている方は多いのではないでしょうか。

Amazon Linux2のサポート期間は、2025年6月30日までです。
少しずつ移行していくのが良いかと思います。

今回は、Amazon Linux2(以下、AL2)からAmazon Linux2023(以下、AL2023)に移行するための調査として、MySQL8.0をインストールする方法について紹介します!

失敗した時の原因についても記載しているので、ぜひ参考にして下さい。

失敗した原因

AL2023は、AL2と違い「dnfコマンド」を使用するようです。

まず、MySQLの公式リポジトリを追加してインストールを試みました。

// MySQLのリポジトリを追加
sudo dnf install https://dev.mysql.com/get/mysql80-community-release-el9-1.noarch.rpm

// MySQLのインストール
sudo dnf install mysql-community-server

上記のコマンドを実行すると、以下のようなエラーが発生しました。

Public key for mysql-community-server-8.0.37-1.el9.x86_64.rpm is not installed.
Error: GPG check FAILED

エラーの内容は、以下です。

GPGキーが正しくインポートされていない

GPGキーが正しくないか、EC2内に存在していないためにエラーが発生しているようです。

・GPGキーとは?
:GNU Privacy Guard (GPG)キーは、ソフトウェアパッケージの信頼性と整合性を検証するためのデジタル署名です。これにより、ダウンロードしたパッケージが信頼できるソースから来ており、改ざんされていないことを確認できます。
確認してみると、リポジトリに設定されている以下のGPGキーファイルは存在しているようです。

/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2022

解決方法とインストール実行手順

ダウンロードした、MySQLリポジトリに設定されているGPGキーは存在していたので、何が足りないのか調査しました。

問題の解決方法

以下のGPGキーをインポートすることで問題は解決します。

sudo rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2023

どうやらGPGキーの2022だけでなく2023のバージョンも必要みたいです。

インストールの実行手順

以下のコマンドを順番に実行することでMySQLサーバーをインストールすることができます。

// MySQLリポジトリのインストール
sudo dnf install -y https://dev.mysql.com/get/mysql80-community-release-el9-1.noarch.rpm

// GPGキーの2023バージョンをインポート
sudo rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2023

// MySQLサーバーのインストール
sudo dnf install -y mysql-community-server

この後は、サーバーをスタートさせることができ、ログインしたりMySQLを使用することができるようになります。

MySQLのセットアップ

インストールしたMySQLサーバーは起動して、初期設定を行います。

MySQLサーバーの起動

以下のコマンドを実行して、インストールしたMySQLサーバーを起動します。

ステータスも確認しながら実行していきましょう。

//  MySQLの起動コマンド
sudo systemctl start mysqld

// 起動のステータス確認コマンド
sudo systemctl status mysqld

// MySQLの自動起動コマンド
sudo systemctl enable mysqld

// 自動起動の確認コマンド
sudo systemctl is-enabled mysqld

// MySQLのバージョン確認コマンド
mysql --version

ステータスが「Actice」になっており、自動起動も「enabled」であれば正しく起動設定が行えています。

MySQLの初期設定

起動したMySQLサーバーに、Wordpressで使用するユーザーとDBを作成します。

最初に、初期登録されているrootユーザーのパスワードを変更する必要があるため、以下を実行してパスワードを変更します。

// 初期パスワードの確認
sudo grep 'temporary password' /var/log/mysqld.log
//以下のように表示されます。「your_temporary_password」の部分が初期パスワードです。
2024-06-24T00:00:00.000000Z 1 [Note] A temporary password is generated for root@localhost: your_temporary_password

// 初期パスワードを使用してMySQLにログイン
sudo mysql -u root -p

ログインしたら、初期パスワードを変更します。

// new_passwordが新規パスワードになるため、変更してください。
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';

続いて、Wordpressで使用するユーザーとDBを作成します。

// 「wordpress」がDB名、「wordpressuser」がユーザー名、「your_password」がユーザーのログインパスワードになります。
CREATE DATABASE wordpress;
CREATE USER 'wordpressuser'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpressuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

DB名、ユーザー名、ユーザーのログインパスワードは、ご自身で設定するようにお願いします。

まとめ

AL2023にMySQL8.0をインストールする方法を解説してきました。

複数のGPGキーを適切にインポートすることで、GPG署名の検証エラーを回避し、安全にMySQLをインストールすることができました。

今後、移行される方が多くなると思うので、この記事を参考にしていただいて少しでも問題が少なくなれば幸いです。