特定 version の MySQL 構築手順 [Docker 編]

特定 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 を利用したくなる、現場からお送りしました。