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

Tadashi Shigeoka ·  Tue, February 5, 2019

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