본문 바로가기

programming/Javascript

Node-Sequelize-Mysql (3) Mysql 로컬 db docker 띄우기

1. MYSQL workbench 다운로드

https://dev.mysql.com/downloads/workbench/

 

MySQL :: Download MySQL Workbench

Select Operating System: Select Operating System… Microsoft Windows Ubuntu Linux Red Hat Enterprise Linux / Oracle Linux Fedora macOS Source Code Select OS Version: All Windows (x86, 64-bit) Recommended Download: Other Downloads: Windows (x86, 64-bit), M

dev.mysql.com

 

2. docker desktop 설치

 

3. docker 올리기

  • docker-compose.yml 작성 (.env와 같은 폴더 안)
services:
  mysql:
    platform: linux/amd64
    image: mysql:8.0.29-debian
    ports:
      - "${MYSQL_PORT}:3306"
    command: --default-authentication-plugin=mysql_native_password
    volumes:
      - "${MYSQL_DATA_DIR}:/var/lib/mysql"
    environment:
      MYSQL_ROOT_PASSWORD: "${MYSQL_ROOT_PASSWORD}"

 

  • .env 작성 (같은 폴더 안)
MYSQL_PORT=3306
MYSQL_DATA_DIR=/d/dev/mysql
MYSQL_ROOT_PASSWORD=hello123!

 

  • 로컬에 여러개 포트의 mysql을 띄우고 싶을 때
    • .env 파일안의 MYSQL_PORT를 달리해주면 된다
    • docker run -p 5000:3306 → 로컬에서 5000 보고 mysql용 3306 연결
    • docker run -p 7000:3306 → 로컬에 7000 포트에 또 mysql 띄울 수 있음
  • MYSQL_DATA_DIR = /d/dev/mysql
    • 도커를 올리면 mysql 폴더가 생성된다
    • 로컬에 여러개의 mysql을 올리고 싶을 때는 포트를 바꾸기
    • access denied 관련 에러가 나면 mysql 폴더를 지우고 도커를 다시 올려본다

  • docker-compose.yml 있는 폴더로 이동
docker compose up

 

  • MYSQL workbench 연결
    • 127.0.0.1
    • DB 이름 정하기
    • 비밀번호(.env 파일 작성 password)

 

  • CREATE SCHEMA

 

Node-Sequelize-Mysql (4) Model 생성 & migrations 파일 생성