LoginSignup
7
3

More than 1 year has passed since last update.

Doker-composeでMySQLコンテナを起動し、MySqlWorkbenchで接続する

Posted at

環境

  • MacOS Big Sur 11.6

目的

  • 好きなようにSQLイジイジしたい

すること

  • Docker-composeでMySqlコンテナを起動する
  • MySQL Workbenchで接続する
  • MySQL WorkbenchでSQLをexportする
  • MySQL WorkbenchでSQLをimportする

Docker-composeでMySQLコンテナを起動する

docker 
  |---mysql
        |---data
        |---sql
% mkdir docker
% mkdir docker/mysql
% mkdir docker/mysql/data
% mkdir docker/mysql/sql
  • mysql/my.cnfを作成
[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci

[client]
default-character-set=utf8mb4      
  • ルートにdocker-compose.ymlを作成
version: '3'

services:
  mysqldb:
    image: mysql:5.7
    container_name: mysql_container
    environment:
      MYSQL_ROOT_PASSWORD: root
      MYSQL_DATABASE: my_testdb
      MYSQL_USER: docker
      MYSQL_PASSWORD: docker
      TZ: 'Asia/Tokyo'
    volumes:
      - ./docker/db/data:/var/lib/mysql
      - ./docker/db/my.cnf:/etc/mysql/conf.d/my.cnf
      - ./docker/db/sql:/docker-entrypoint-initdb.d
    ports:
      - "3306:3306"
    command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
  • Docker起動
  • ルートでコンテナ立ち上げ
% docker-compose up -d
  • コンテナ確認
% docker ps
% docker ps
CONTAINER ID   IMAGE             COMMAND                  CREATED          STATUS          PORTS                               NAMES
d9fb41109241   mysql:5.7         "docker-entrypoint.s…"   26 minutes ago   Up 26 minutes   0.0.0.0:3306->3306/tcp, 33060/tcp   mysql_container

MySQL Workbenchで接続する

スクリーンショット 2021-09-30 10.19.50.png

  • パスワードは docker-compose.ymlで設定した MYSQL_ROOT_PASSWORD: root

スクリーンショット 2021-09-30 10.21.15.png

  • 接続が成功すると以下の画像が表示される

スクリーンショット 2021-09-30 10.21.23.png

MySQL WorkbenchでSQLをexportする

  • Server→Data Exportでdumpする
    • ExportするSchemaを選択する
  • Start Exportでファイルが保存される

MySQL WorkbenchでSQLをimportする

  • 右クリックで Create Shemaを選択する
  • Shema名を入力して、右下のApplyを押しShemaを作成する
  • Server→Data Importで先程のdumpフォルダを選択する

以上、SQLでいじいじできるようになりました。

7
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
3