RHELでのMySQLのインストールと基本設定 – データベースをすぐに使おう!

RHELでのMySQLのインストールと基本設定 – データベースをすぐに使おう!

この記事では、Red Hat Enterprise Linux(RHEL)環境でMySQLをインストールし、基本的な設定を行う手順を詳しく解説します。これを読めば、すぐにデータベースを構築して活用できます。

前提条件

以下の条件を満たしている必要があります。

  • RHEL 8または9がインストール済み
  • rootまたはsudo権限を持つユーザー
  • インターネット接続が可能

MySQLリポジトリの追加

公式リポジトリを追加します。

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

MySQLパッケージのインストール

MySQLサーバーをインストールします。

sudo dnf install mysql-server -y

MySQLサービスの起動と有効化

サービスを起動し、自動起動を有効にします。

sudo systemctl start mysqld
sudo systemctl enable mysqld

初期設定の確認

初期設定のための一時的なrootパスワードを確認します。

sudo grep 'temporary password' /var/log/mysqld.log

MySQL初期設定ツールの実行

MySQLのセキュリティ設定を行います。

sudo mysql_secure_installation

以下のプロンプトに回答します。

  • 一時的なrootパスワードを入力
  • 新しいrootパスワードを設定
  • 匿名ユーザーの削除
  • リモートrootログインの無効化
  • テストデータベースの削除
  • 変更を適用

MySQLへのログイン

MySQLクライアントを使用してログインします。

mysql -u root -p

新しいデータベースの作成

サンプルのデータベースを作成します。

CREATE DATABASE sample_db;

新しいユーザーの作成と権限の付与

データベースにアクセスするユーザーを作成し、権限を設定します。

CREATE USER 'sample_user'@'%' IDENTIFIED BY 'password123';
GRANT ALL PRIVILEGES ON sample_db.* TO 'sample_user'@'%';
FLUSH PRIVILEGES;

ファイアウォール設定

MySQLのデフォルトポート3306を開放します。

sudo firewall-cmd --permanent --add-port=3306/tcp
sudo firewall-cmd --reload

設定の確認

MySQLの起動状態とポートを確認します。

sudo systemctl status mysqld
sudo ss -tunlp | grep 3306

リモート接続の確認

別のクライアントから接続テストを行います。

mysql -h <サーバーIP> -u sample_user -p

トラブルシューティング

問題が発生した場合は、以下を確認します。

  • ファイアウォールの設定
  • MySQLサービスの状態
  • /var/log/mysqld.logでエラーメッセージを確認