CentOS 9 環境に、最新の長期サポート版である MySQL 8.4 LTS を導入する際の手順をまとめます。OS標準のパッケージではなく、MySQL公式リポジトリを使用することで、管理のしやすさと最新パッチの適用を両立させます。
1. MySQL Yum リポジトリの追加
まずは、MySQL公式サイトから提供されている最新のリポジトリ・パッケージを追加します。これにより、dnf を通じて公式のバイナリが取得可能になります。
# 公式 Yum リポジトリの追加(CentOS 9 対応版)
sudo dnf install -y https://dev.mysql.com/get/mysql84-community-release-el9-2.noarch.rpm
2. MySQL Server のインストール
リポジトリの登録が完了したら、サーバー本体のパッケージをインストールします。
sudo dnf install -y mysql-community-server
3. サービスの起動と有効化
インストール直後の MySQL サービスは停止状態です。サービスの起動と、OS再起動時に自動で立ち上がるように設定を行います。
# サービスの起動
sudo systemctl start mysqld
# 自動起動の有効化
sudo systemctl enable mysqld
4. root の一時パスワードの取得
MySQL 8.x 以降の仕様として、初回起動時に root ユーザー用の「一時パスワード」が自動生成され、ログファイルに記録されます。この後の初期設定に必須となるため、以下のコマンドで確認します。
# ログから temporary password を検索
grep 'temporary password' /var/log/mysqld.log
5. 初期セキュリティ設定(初期化)
mysql_secure_installation スクリプトを実行し、パスワードの変更や不要な権限の削除を行います。
sudo mysql_secure_installation
実行後、対話形式で以下の設定を進めます:
- 一時パスワードの入力: 手順4で確認したパスワードを入力。
- 新しいパスワードの設定: 8文字以上、かつ大文字・小文字・数字・記号を含むものを設定。
- 匿名ユーザーの削除: Y
- root のリモートログイン禁止: Y
- テスト用DBの削除: Y
- 権限テーブルのリロード: Y
6. 接続確認
最後に、手順5で設定したパスワードを使用してログインできるか確認します。
mysql -u root -p
ログイン後、SELECT version(); を実行し、8.4.x という表示が返ってくれば、CentOS 9 への MySQL 構築は完了です。