Windows 11+DockerでMySQL起動|A5:SQL Mk-2接続手順 | Snow System

Windows 11のWSL2環境でDockerコンテナを動かし、データベースとしてMySQLを構築してWindows側のGUIツールから操作したいケースは非常に多くあります。

GUIクライアントとして長年定番の「A5:SQL Mk-2」を利用する場合、初期のWindows 10や初期WSL2環境では「localhostで接続できない」「eth0のIPアドレスを調べる必要がある」といった特有のネットワークトラブルが発生しがちでした。

本記事では、最新のWindows 11+WSL2環境をベースに、Docker Composeを使ってMySQL(最新のMySQL 8.0/8.4対応)をコンテナとして立ち上げ、Windows側にインストールしたA5:SQL Mk-2から快適に直接接続する手順を分かりやすく解説します。

目次

  1. WSL2+Docker+A5:SQL Mk-2の環境構成
  2. 事前準備と前提条件
  3. Docker ComposeでMySQLコンテナを起動する
  4. Windows側のA5:SQL Mk-2から接続する手順
  5. トラブルシューティング:接続できない場合のチェックポイント
  6. まとめ:快適なローカルDB開発環境を整えよう
  7. 参考情報
  8. 次に読むおすすめ記事

WSL2+Docker+A5:SQL Mk-2の環境構成

今回の構築イメージは以下の通りです。

WSL2のLinuxディストリビューション(Ubuntu等)上でDocker Engineを動かし、MySQLコンテナのポートをホストにマッピングします。

Windows 11のWSL2では、デフォルトでローカルループバックアドレス(localhost / 127.0.0.1)の自動ポートフォワーディングが機能するため、Windows上で動作するA5:SQL Mk-2から localhost:3306(または任意の指定ポート)で直接接続できます。

事前準備と前提条件

本手順を進める前に、以下の環境が整っていることを確認してください。

  • Windows 11マシンでWSL2が有効化されていること
  • WSL2上のUbuntuにDocker EngineおよびDocker Composeが導入されていること
  • Windows側にA5:SQL Mk-2がダウンロード・展開されていること

Docker EngineやComposeがまだインストールされていない場合は、後述の関連ガイドを参考にセットアップを済ませてください。

Docker ComposeでMySQLコンテナを起動する

MySQLコンテナの起動には、設定ファイル1つでコンテナの定義やデータ永続化を一元管理できるDocker Compose(Compose v2)を利用します。

1. 作業ディレクトリとcompose.yamlの作成

WSL2のホームディレクトリ配下に任意の作業用フォルダを作成し、その中に compose.yaml を作成します。

mkdir -p ~/docker-mysql
cd ~/docker-mysql
nano compose.yaml

ファイルの内容として以下を記述します。

services:
  mysql_test:
    image: mysql:8.0
    container_name: mysql_test
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: your_root_password
      MYSQL_DATABASE: mydb
      MYSQL_USER: testuser
      MYSQL_PASSWORD: testpassword
    ports:
      - "3306:3306"
    volumes:
      - db_data:/var/lib/mysql

volumes:
  db_data:

設定項目のポイントは以下の通りです。

  • image: 最新の安定版である mysql:8.0(または mysql:8.4)を指定します。
  • environment: ルートパスワードや作成したい初期データベース名、一般ユーザー名とパスワードを環境変数で定義します。
  • ports: "3306:3306" でホストマシンの3306番ポートとコンテナの3306番ポートを紐付けます。もしWindows側ですでにローカルMySQLが3306番を使っている場合は、"9999:3306" などの別ポートに変更してください。
  • volumes: db_data ボリュームを定義し、コンテナを再起動・破棄してもデータが消去されないように永続化します。

2. MySQLコンテナをバックグラウンド起動する

ファイルを保存したら、以下のコマンドでコンテナを起動します。

docker compose up -d

3. コンテナの起動状態を確認する

起動後にコンテナの状態を確認します。

docker compose ps

ステータスが Up または running となり、ポートが 0.0.0.0:3306->3306/tcp と表示されていれば、コンテナ側の準備は完了です。

Windows側のA5:SQL Mk-2から接続する手順

コンテナが起動したら、Windows側からA5:SQL Mk-2を起動して接続設定を行います。

1. データベースの追加と削除を開く

A5:SQL Mk-2を起動し、左側のツリービューにある「データベース」を右クリックして、「データベースの追加と削除」を選択します。

2. データベースの追加を開始する

表示された画面で「追加」ボタンをクリックします。

3. 接続方式の選択

接続タイプの一覧から「MySQL/MariaDB(直接接続)」を選択し、「次へ」をクリックします。

4. 接続情報の登録

接続設定画面が表示されたら、以下のように各項目を入力します。

入力する値は以下の通りです。

  • ホスト名: localhost または 127.0.0.1
  • ポート番号: compose.yaml で指定したポート(標準は 3306、カスタムした場合は 9999 等)
  • ユーザーID: root または作成した一般ユーザー名
  • パスワード: compose.yaml で設定したパスワード
  • データベース: mydb または mysql

5. テスト接続の実行

入力が完了したら、画面左下の「テスト接続」ボタンをクリックします。

「接続に成功しました」というポップアップが表示されれば正常に疎通できています。

「OK」をクリックして設定を保存します。

6. ツリービューでテーブルやデータを確認する

ツリービューに追加されたデータベースを展開すると、作成したデータベースやテーブル一覧が正常に参照できます。

これで、Windowsの使い慣れたGUI画面から、WSL2上のDockerコンテナ内にあるMySQLに対して自由にSQLを発行できるようになりました。

トラブルシューティング:接続できない場合のチェックポイント

もしテスト接続でエラーが発生する場合は、以下の項目を順に確認してください。

1. localhostで接続できない場合(WSL仮想IPでの接続)

旧世代のWSL2環境やネットワーク環境によっては、localhost のポートフォワーディングがうまく働かない場合があります。

その場合は、WSL2のUbuntu側で以下のコマンドを実行し、仮想IPアドレスを直接確認します。

wsl hostname -I

表示されたIPアドレス(例: 172.28.160.1 など)を、A5:SQL Mk-2の「ホスト名」に直接入力してテスト接続を試してみてください。

2. ミラードネットワークモードの利用

Windows 11のWSL2(WSL 2.0以降およびWSL 3.0)では、.wslconfig でミラードネットワークを有効化することで、ホストとWSL2のネットワークスタックが一体化します。

ユーザーフォルダの %USERPROFILE%\.wslconfig に以下を追記してWSLを再起動(wsl --shutdown)すると、localhost でのアクセスがより安定します。

[wsl2]
networkingMode=mirrored

3. MySQL 8.0以降の認証プラグインについて

MySQL 8.0以降では、デフォルトのパスワード認証プラグインが caching_sha2_password に変更されています。

古いバージョンのデータベースクライアントツールではこの認証に対応しておらず接続エラーになる場合がありますが、A5:SQL Mk-2は最新バージョンで完全に対応しています。エラーが出る場合はA5:SQL Mk-2を最新版にアップデートしてください。

まとめ:Windows 11とWSL2の組み合わせで快適なDB開発環境を作る

Windows 11とWSL2、Docker Composeを活用することで、PC本体の環境を汚すことなく、瞬時にMySQLデータベース環境を用意して破棄・再作成できるようになります。

GUIクライアントのA5:SQL Mk-2と組み合わせれば、データ確認やテーブル定義の変更、SQLのチューニング作業もストレスなく行えます。

日々のローカル開発や検証作業にぜひ役立ててください。

参考情報

次に読むおすすめ記事

Windows 11でのモダンな開発環境全体の設計や高速化、トラブル解決について詳しく知りたい方は、以下の完全ガイドもぜひご覧ください。