macOS前提の記述ですが、他OSでもある程度対応できるはずです。
Step1 Dockerを入れる
Dockerを入れる。
Step1-2 Dockerの操作を補助するツールを入れる(任意)
Kitematicを入れる。
想定読者層がDockerやSQLに慣れていない人であり、コンテナの停止や再起動といった事がGUIでできるため推奨。
Step2 genschsa/mysql-employeesをpullする
Docker Hubkからgenschsa/mysql-employeesを入れる。
docker pull genschsa/mysql-employees
でイメージを持ってきて
docker run -d \
--name mysql-employees \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=college \
-v $PWD/data:/var/lib/mysql \
genschsa/mysql-employees
で動かせる
Step3-1 DB GUIアプリを入れる
Sequel Aceの様なGUIでDBを操作できるアプリケーションを入れる。
Windowsの場合や、他のGUIアプリケーションが良いならMySQLのおすすめ便利クライアントツールを参考にしてみてください。
本記事でGUIツールでの利用を
Step3-2 GUIアプリで接続する
docker runの際にmysqlのパスワードをcollege、コンテナのポート3306とローカルのポート3306を繋げているのでこの情報を元にGUIアプリから操作をする事ができる。
設定はこの様にHostを自分のPC、ユーザー名をroot、パスワードにcollegeという様に設定すればどの環境でも接続できるはず。
あとはSelect Databaseにemployeesを設定して中身を確認し、
データを追加したり
消したり
あとはWeb上のドキュメントを読んで試したりするだけ。
(例: MySQL 5.6 リファレンスマニュアル)
楽しみましょう!
本記事を書いたきっかけ
を見てSQLの操作を勉強する時、データベースの中身を用意するのが面倒くて他の事に目移りしたんだよなぁと思って書きました。ええっ!?30万件近いデータの入ったemployeesデータベースがDocker imageとして公開されているのかい!?
— dowanna @PrAha Inc. CEO兼エンジニア (@dowanna6) January 26, 2021
クエリやインデックスやパフォーマンスチューニングの練習に使える最高の環境がdocker runするだけで手に入るのかい!?
すごいねマスオくぅん!https://t.co/Q8jKGs2I3F
この中のデータはEmployees Sample Databaseで公開されているので、最新のMySQLでイメージ
作って試すのも面白そうですね。