[DBスペシャリストへのみち1] MySQLのコンテナにWorkBenchからアクセスする

2020年4月のDBスペシャリストを受験することにしました。

データベーススペシャリスト試験(DB) ~ ビッグデータ時代に求められる、データ志向の担い手 ~

というわけで今回は勉強・復習のために使うローカル環境作成について書いていこうと思います。

前提

MySQL Workbench、docker-composeはすでにインストールされているということを前提とします。

作る環境

  • MySQL: 5.7

docker-compose

Dockerfileでもいいのですが、ここは使い慣れているdocker-compose.ymlで設定を書いていこうと思います。

version: '3.7'
services:
  db:
    image: mysql:5.7
    environment:
      MYSQL_DATABASE: siken
      MYSQL_USER: root
      MYSQL_ROOT_PASSWORD:任意のパスワード
    tty: true
    ports:
      - 33306:3306
    command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --explicit_defaults_for_timestamp=true

とりあえず上記でいいと思います。

ここでポイントはportsの設定です。

この記事を読んでいる方はエンジニアの方が多いと推測します。エンジニアの方はだいたい自分のPCでも開発を行っていて、ローカル(コンテナではなくPC自体)に3306ポートでアクセスするDBがあることが想定されます。

そこで、このコンテナの環境には33306というポートでアクセスするようにすることですでに存在するであろうローカルのDBとの区別をしています。すでに33306というポートを使っている場合は他のポート番号に変えて使用してください。

コンテナ起動

docker-compose.ymlができたらあとは下記のコマンドを打つだけでdbのコンテナが起動します。

$ docker-compose up

コンテナ起動確認

dockerのpsコマンドを打ってコンテナの起動確認を行います。

$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                                NAMES
6a1e08bda9a9        mysql:5.7           "docker-entrypoint.s…"   25 hours ago        Up 4 seconds        33060/tcp, 0.0.0.0:33306->3306/tcp   database_siken_db_1

MySQL Workbenchでアクセス

Workbenchのコネクション設定を下の画像のようにし、パスワードを入力してください。

これでOKを押下すると接続できると思います。

これで色々SQL文を試すことができる環境ができました。

最後までお読みいただきありがとうございました。

Related Posts