Web開発

Dockerで起動したMySQLにWorkbenchで接続する方法

更新日:

こんにちは、ケースケ(@keisuke555_eng)です。

2020年に、8年ほど勤めた地方のシステム開発会社を退職し、フリーランスのエンジニアとして活動しています。

今回は、Dockerコンテナで立ち上げたMySQLデータベースにホストPC上のMySQL Workbenchから接続する手順を解説いたします!

ズバリ!ポイントは…

docker-compose.ymlでMySQLにポートフォワーディングの設定を記述する

です。

さっそく詳しくご紹介していきます!

MySQLへの接続手順

結論から言うと、Dockerコンテナで立ち上げたMySQLへホストPCから接続する手順は次のとおりです。

  1. MySQL Workbenchをインストール
  2. DockerでMySQLコンテナを起動
  3. WorkbenchでConnection設定を追加
  4. 接続確認

MySQL Workbenchをインストール

まずはWorkbenchをダウンロード&インストールしましょう!

Workbenchっていうのは、データベースをGUI(視覚的に)操作できるツールで、MySQLと同じOracle社からフリーで提供されています。

まずは公式のダウンロードページへアクセスし、「ダウンロードはこちら」をクリックします。

「ダウンロードはこちら」をクリック

次のページで、お使いのPCに合わせてOSが選択されていると思うので、選択内容を確認して「Download」をクリックします。

OSを確認して「Download」をクリック

ツールのダウンロードには、Oracleアカウントが必要になりますので、アカウントが無い方はメールアドレスでアカウント作成を行います。

ログインorサインアップを行います。

ログインまたはサインアップが完了すると、ダウンロードが開始されると思いますので、ダウンロード完了後にインストールを実行してください。

DockerでMySQLコンテナを起動

続いて、DockerコンテナでMySQLを立ち上げます。

今回は試しに、前回の記事で作成したWordPress環境のMySQLコンテナを起動してみます。

前回の記事はこちら↓

ターミナルでdocker-compose.ymlが格納されているディレクトリに移動して、以下コマンドでコンテナを起動します。

docker-compose up -d

これで自動的に、ディレクトリ内のdocker-compose.ymlファイルを参照して、WordPress環境を立ち上げてくれます。

試しにブラウザでlocalhost:8000にアクセスしてみると…

ちゃんと表示できた!

どうやら無事に起動できたようです。

docker-compose.ymlにポートフォワーディングの設定を追記

今回の接続設定で最大のポイントとなるのが、たった今WordPress環境の起動に使用したdocker-compose.ymlにポートフォワーディングの設定を追加することです!

具体的には、docker-compose.ymlのDBコンテナ構成に以下の記述を追加します。

ports: "3307:3306"

この記述は、「ホスト側の3307ポートにアクセスすると、DBコンテナ側の3306ポートに繋がるよ!」という意味になります。

※「3306:3306」に設定しても良いですが、僕の場合はホスト側の3306ポートを過去にインストールしたMySQLインスタンスが使用していたので、ちょっとズラしました

なお、docker-compose.ymlの記述全体については、前回記事↓を参照ください。

WorkbenchでConnection設定を追加

次に、Workbenchを起動して設定を行います。

MySQL Workbenchを起動すると、次の画面が表示されると思います。

初期起動画面

画面の中段左にある「MySQL Connection」の+アイコンをクリックして、Connection設定を追加します。

画面のように設定を記入します。

Connection Name(接続名)は分かりやすい名称をつけておけばOKです。

今回は「local_wordpress」にしました。

Connection Method(接続方法)は「Standard(TCP/IP)」を選択してください。

あとはParametersに設定を入れていきましょう。

Hostname(ホスト名)127.0.0.1
Port(ポート番号)※設定したポート
Username(ユーザー名)※設定したユーザー名
Password(パスワード)※設定したパスワード
Default Schema(接続するDB名)※設定したDB名

ホスト名は、ローカルホストを表す「127.0.0.1」にします。

また、ポート番号、ユーザー名、パスワード、スキーマ名などは、ご自身の設定内容(docker-compose.ymlで記述した内容)に合わせて設定してください。

接続成功!

「Test Connection」をクリックして、↑のように「Successfully made the MySQL connection」と表示されれば、接続成功です!

ダイアログの「OK」ボタン、設定画面の「OK」ボタンをクリックして設定を完了します。

作成した接続設定が追加されています。

最初の画面に戻り、たった今追加した接続設定が追加されていれば設定完了です!

お疲れ様でした!

接続確認

追加した接続設定をクリックすると、クエリ画面が表示され、接続したDBのテーブルをGUIで操作することができます。

DB「wordpress」の各テーブルの中身を参照・追加・変更・削除することができます!

まとめ

Dockerは、PCの中に仮想環境(実体のないもう1つのPC)を起動するという技術なので、いろいろ設定が面倒かなと思いましたが、案外簡単でした。

何はともあれ、これでDockerで立ち上げたMySQLにGUIツールで接続できました!

この設定ができれば、開発をよりスムーズに進められるかなと思います。

今回の記事が読んでくださった方にとって少しでも参考になれば幸いです。

それでは、また。

-Web開発
-, , , , , ,

Copyright© みちのくBASE , 2021 All Rights Reserved