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. 詳細な手順の説明
custom_my.cnf
という設定ファイルを作成し、MySQLがどのホストからでも接続を受け入れるようにbind-address
を設定します。- DockerでMySQLを起動します。この際、上で作成した
custom_my.cnf
をMySQLの設定ディレクトリにマウントします。 - MySQLが完全に起動するのを待ちます(この例では30秒待機していますが、環境によっては調整が必要です)。
docker exec
を使用してMySQLコンテナ内でユーザー設定を行います。この例では、任意のホストからの接続を受け入れるrootユーザーを作成しています。
4. 注意点
この設定は開発やテスト環境での利用を想定しています。セキュリティの観点から、本番環境での利用は推奨しません。特に、パスワードなしのrootユーザーを外部から接続できるようにする設定は、公開環境での利用は避けてください。