特定 version の MySQL サーバーを Docker で構築する手順をご紹介します。
前提条件
- MySQL: version 5.7 を利用したい
- OS: macOS Mojave
特定 version の MySQL を docker で起動する
docker image 取得 & 初回起動
docker run \\
--name mysql5.7 \\
-e MYSQL_ALLOW_EMPTY_PASSWORD=yes \\
-p 3306:3306 \\
-d mysql:5.7
shell 経由で MySQL へ接続確認
docker exec -it mysql5.7 bash
Docker for Mac 向けの設定
macOS から MySQL on Docker へ接続設定用クエリ
重要なポイントは @“localhost” だけでなく @”%” のクエリも実行することです。
CREATE DATABASE mydb CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
CREATE USER 'myuser'@"localhost" IDENTIFIED BY "mypassword";
CREATE USER 'myuser'@"%" IDENTIFIED BY "mypassword";
GRANT all ON mydb.* TO 'myuser'@"localhost";
GRANT all ON mydb.* TO 'myuser'@"%"; # Docker for Mac の場合 @"%"; も忘れず
FLUSH PRIVILEGES;
詳しくは、MySQL ユーザのホストをワイルドカードで指定してもlocalhostは含まれない | b.l0g.jp を参照ください。
以上、たまに古い version の MySQL を利用したくなる、現場からお送りしました。