
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から快適に直接接続する手順を分かりやすく解説します。
目次
- WSL2+Docker+A5:SQL Mk-2の環境構成
- 事前準備と前提条件
- Docker ComposeでMySQLコンテナを起動する
- Windows側のA5:SQL Mk-2から接続する手順
- トラブルシューティング:接続できない場合のチェックポイント
- まとめ:快適なローカルDB開発環境を整えよう
- 参考情報
- 次に読むおすすめ記事
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でのモダンな開発環境全体の設計や高速化、トラブル解決について詳しく知りたい方は、以下の完全ガイドもぜひご覧ください。

