FrontierStack で MySQL を Docker で動かし、監視する
公開 2026-09-02
MySQL は、運用中の他のすべてを静かに滞らせている可能性が最も高いデータベースです。派手に落ちることは稀で、遅くなり、接続が溜まり、テーブルがロックされ、最初に気づくのは「サイトが固まる」という顧客の声です。本ガイドではインストールと、それ以上に重要な「稼働中の内部を見る」方法を扱います。
インストールの二つの方法
MySQL はネイティブでもコンテナでも実行できます。ネイティブは サービス ▸ MySQL から Homebrew の formula と brew services のエントリとして導入され、ログイン時に起動し、ペインから起動・停止・リロードできます。そのマシンの主目的が MySQL である場合に適した選択です。
コンテナが適するのは、特定バージョンが必要なとき、テスト用の使い捨てコピーが欲しいとき、あるいは 1 つの設定ファイルとデータディレクトリを奪い合わせずに複数のデータベースを並存させたいときです。FrontierStack はそのコンテナを構築できます。
コンテナを作成する
Docker ペインを開き、コンテナを作成…を押します。ベースプリセットから MySQL を選ぶと、空のフォームではなく、編集可能な動作する構成が得られます。
- イメージ
mysql:8— 本番のバージョンに合わせる場合はタグを変更します。 - ポート 3306、127.0.0.1 のみにバインド。この既定は重要です。データベースはこのマシンからのみ到達可能になります。他ホストからの接続が本当に必要な場合のみ解除し、その際はファイアウォールの設定を前提としてください。
- ボリューム
mysqldataを/var/lib/mysqlにマウント。名前付きボリュームのため、コンテナを削除・再作成してもデータは残ります。これがないとdocker rmでデータベースが消えます。 - 環境変数
MYSQL_ROOT_PASSWORD(シークレット指定)。実際のパスワードを入力してください。入力欄はマスクされ、値はプレビューやログで••••に置き換えられ、出力されません。
詳細設定で有用なのは再起動ポリシーです。プリセットは停止しない限りを使い、再起動後にデータベースを復帰させつつ、意図的な停止は尊重します。常には手動停止後も再起動するため、ワークステーションでは望ましくないことがほとんどです。
実行前にコマンドを読む
シートは、これから実行する docker run の実際のコマンドを、シークレットをマスクした状態で表示します。これは実際に読む価値があります。「アプリが何かをした」と「何が作成されたかを正確に把握している」の違いです。後でスクリプトに同じコンテナを再現したい場合はコピーしてください。
作成を押すと、イメージが取得され、コンテナが作成・起動され、結果がシートに返ります。以降は Docker ペインのコンテナ一覧に現れ、起動・停止・再起動・ログ・シェルが使えます。
リンク済みサーバ上でも
同じシートはフリート内のどのサーバに対しても機能します。対象ホストを選べば、SSH 経由でそこにコンテナが作成されます。同じプリセット、同じプレビュー、同じ結果です。これはネイティブのサービスペインにはできない部分です。サービスペインはこの Mac にしかインストールできません。
接続を監視する
データベースヘルスペインは、稼働中の接続を個別に一覧表示します。ユーザ、ホスト、データベース、コマンド、現在の状態の継続時間、実行中のクエリ。実際の問題の多くはこの一覧で可視化されます。4 分間 Locked のまま止まっている接続や、接続を閉じないアプリからのアイドル接続 50 件などです。
個々の接続はペインから終了できます。実サーバへの実操作のため、事前に確認します。
「なぜ遅い/固まっているのか」
これは知っておく価値のあるボタンです。事後にスロークエリログを読むのではなく、稼働中のサーバを検査します。今実行中のもの、何が何を待っているか、接続プールの逼迫度、そして症状ではなく原因といえるほど長く滞留しているクエリ。重大度順の所見を、該当プロセスとともに返します。
テーブルの問題には専用の経路があります。テーブル検査とテーブル修復はエンジン自身の操作を実行し、テーブルごとの結果を報告します。異常終了後の破損テーブルが、シェル作業ではなく 2 クリックの修正になります。
AI 管理者に尋ねる
所見が馴染みのないものなら、まとめてアシスタントに渡してください。「オフィスサーバのデータベースが遅い。原因を調べて」。プロセス一覧・設定・ログを読み、見つけたことを説明します。既定は読み取り専用で、変更は提案し、承認を待ちます。
アプリ内のどこにあるか
実際の作業は データベース ▸ データベースヘルス ペインが担います。対象を選ぶと、稼働中の接続をすべて一覧表示し、注意すべきものを強調し、MySQL と PostgreSQL については、ログから推測するのではなく稼働中のサーバに対して「なぜ遅い/固まっているのか」を診断します。
データベースホストにエージェントをインストールする必要はありません。FrontierStack は既存の鍵を使って SSH でリンク済みサーバに接続し、データベース自身の管理インターフェース経由で読み取ります。
必要になる前にアラートを設定する
監視が役立つのは、壊れる前の瞬間です。フリートにホストを追加し、データベースヘルスを向け、チェックを定期実行させます。停止したデータベースは「問題なし」ではなく「データなし」として現れるため、明示的なアラートこそが、静かな障害を実際に届く通知へと変えます。
すべてをひとつの Mac アプリで。
FrontierStack は、ローカルでもフリート全体でも、スタック全体のインストール・監視・保護をひとつのネイティブ macOS アプリで行います。
FrontierStack をダウンロード