2025年8月29日金曜日

CentOS 9 に MySQL 8.4 LTS をインストールする

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 構築は完了です。




2025年8月10日日曜日

Mac で TiDB を試す:tiup playground による分散データベースのクイックスタート

MySQL互換の分散型データベースとして注目される TiDB。今回は、Mac 環境(macOS 13.7.6)に、ローカルデプロイツールである tiup を使用して、検証用の「playground」環境を構築する手順をまとめます。


1. tiup のインストール

TiDB の管理ツールである tiup を導入します。公式サイトのクイックスタートに基づき、以下のワンライナーでインストールが完了します。

# tiup のインストールスクリプトを実行
curl --proto '=https' --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh | sh

インストール完了時の指示に従い、パスを通すためにプロファイルを再読み込みします。

# Bash の設定ファイルを再読み込み(使用環境に合わせて .zshrc 等に読み替えてください)
source ~/.bash_profile

2. tiup playground の実行

tiup playground コマンドを実行すると、必要なバイナリが自動的にダウンロードされ、ローカルマシン上に最小構成の TiDB クラスタ(TiDB, TiKV, PD 等)が疑似的に構築されます。

# ローカルクラスタの起動
tiup playground

実行後、ターミナルに各コンポーネントの起動ログが流れ始め、最後に接続情報が表示されれば準備完了です。


3. 接続と動作確認

別のターミナルを開き、公式のクライアントツールを使用してクラスタへ接続します。

# TiDB クライアントの起動
tiup client

プロンプトが立ち上がったら、データベース一覧を表示して正常動作を確認します。

my:root@127.0.0.1:4000=> show databases;
      Database      
--------------------
 INFORMATION_SCHEMA 
 METRICS_SCHEMA 
 PERFORMANCE_SCHEMA 
 mysql 
 sys 
 test 
(6 rows)

まとめ

tiup playground を使用することで、複雑な分散データベースである TiDB を、Mac 上でわずか数分で起動することができました。MySQL 互換であるため、既存の MySQL クライアントやアプリケーションからの検証も容易です。