M1 mac で Dockerを使ってMySQL 5.7を外部から接続できるように設定する

 

Dockerを使ってMySQL 5.7を外部から接続できるように設定する

Dockerを使ってMySQLを簡単に起動する際、外部からの接続設定にちょっとしたコツが必要です。

この記事では、その手順をシンプルにまとめています。

1. 概要

基本的には、MySQLの設定を変更して、どのホストからでも接続を受け入れるようにする必要があります。加えて、Dockerコンテナ内のMySQLユーザー設定も変更する必要があります。

2. 手順

以下のコードを実行します:

git clone https://github.com/GitSumito/CodeArsenal.git
cd CodeArsenal/mysql-external-access
sh ./main.sh

 

3. 詳細な手順の説明

  1. custom_my.cnf という設定ファイルを作成し、MySQLがどのホストからでも接続を受け入れるように bind-address を設定します。
  2. DockerでMySQLを起動します。この際、上で作成した custom_my.cnf をMySQLの設定ディレクトリにマウントします。
  3. MySQLが完全に起動するのを待ちます(この例では30秒待機していますが、環境によっては調整が必要です)。
  4. docker exec を使用してMySQLコンテナ内でユーザー設定を行います。この例では、任意のホストからの接続を受け入れるrootユーザーを作成しています。

4. 注意点

この設定は開発やテスト環境での利用を想定しています。セキュリティの観点から、本番環境での利用は推奨しません。特に、パスワードなしのrootユーザーを外部から接続できるようにする設定は、公開環境での利用は避けてください。