Sakila 데이터베이스로 MySQL 실습하기

이해하기 쉽고, 장황하지 않은 자료를 기반으로 강의를 진행합니다.
잔재미코딩 소식 공유
좀더 제약없이, IT 컨텐츠를 공유하고자, 자체 온라인 사이트와, 다음 두 채널도 오픈하였습니다
응원해주시면, 곧 좋은 컨텐츠를 만들어서 공유하겠습니다
●  잔재미코딩 뉴스레터 오픈 [구독해보기]
●  잔재미코딩 유투브 오픈 [구독해보기]

1. Sakila 데이터베이스로 MySQL 실습하기

### mysql workbench 설치 - 실습 - mysql 서버에 접속해서 SQL 명령을 통해, mysql 데이터베이스 조회 및 조작을 할 수 있는 클라이언트 소프트웨어 - 프로그래머들은 mysql workbench를 사용하기보다는 직접 CLI(Command line interface)를 사용하는 경우가 많음 - workbench 사용법 및 CLI 사용법 둘다 익혀둘 것



  • docker에 mysql 서버를 설치한 경우는 3306 mysql 포트 추가 오픈이 필요함
    • 추가 포트 오픈 방법

http://1004jonghee.tistory.com/entry/%EC%BB%A8%ED%85%8C%EC%9D%B4%EB%84%88-%EC%82%AD%EC%A0%9C%ED%95%98%EC%A7%80-%EC%95%8A%EA%B3%A0-%ED%8F%AC%ED%8A%B8-%EC%B6%94%EA%B0%80%ED%95%98%EA%B8%B0!%5Bimage.png%5D(attachment:image.png)

  • 예: commit 후 새로운 image로 기존 옵션에 -p 3306:3306 추가해서 docker 실행
    docker run -Pit -i -t -p 8888:8888 -p 8787:8787 -p 8022:22 -p 3306:3306 --name dave_ubuntu ubuntu /bin/bash

도커 이미지 가져오기

  • docker pull jhleeroot/dave_ubuntu:1.0.1

도커 처음 실행하기

  • docker run -Pit -i -t -p 8888:8888 -p 8787:8787 -p 8022:22 -p 3306:3306 --name ubuntu jhleeroot/dave_ubuntu:1.0.1
  • docker attach ubuntu
    • PC 껐다 켜서 실행할 때는 docker start ubuntu 를 먼저 해주신 후 진행

sakila database sql 파일 실행하기

  • Mysql Workbench

    • File -> Open SQL Script -> sakila-schema.sql
    • File -> Open SQL Script -> sakila-data.sql
  • 도커에 sql 복사 후, mysql 실행해서 SOURCE 명령으로 sql 실행

    • 이미 /root/DataScience 디렉토리에 해당 SQL 파일 넣어놓고, mysql에도 넣어놓았습니다.
    • 도커에 파일 복사 방법
      • docker cp sakila-data.sql dave_ubuntu:/root/sakila-data.sql
      • docker cp sakila-schema.sql dave_ubuntu:/root/sakila-schema.sql
      • docker cp sakila.mwb dave_ubuntu:/root/sakila.mwb

참고: Docker for Windows CPU Core 4개로 만들기

Docker for Windows 설정 (CPU를 4개로 만들기)

No description has been provided for this image

도커 안에서 mysql 데몬 시작하기

  • sudo service mysql start
  • sudo service mysql status

mysql 실행하기

  • mysql -u root -p

(암호는 korea123 입니다.)

도커에 쥬피터 노트북 연결해서 실행하기 (크롬 브라우저로 실행)

  • jupyter-notebook --allow-root >> /var/log/jupyter.log 2>&1 &
    • 맥북: 오픈 크롬 브라우저 -> http://0.0.0.0:8888/ 주소 입력 -> 처음 암호: korea123
    • 윈도우 Docker for Windows: 오픈 크롬 브라우저 -> http://127.0.0.1:8888 주소 입력 -> 처음 암호: korea123
    • 윈도우 Docker Tookbox: 오픈 크롬 브라우저 -> http://%EB%8F%84%EC%BB%A4 컨테이너 IP:8888 주소 입력 -> 처음 암호: korea123
      • docker-machine ip 명령으로 도커 컨테이너 IP를 알아낼 수 있음
    • 서버 로그는 vim /var/log/jupyter.log 에서 보실 수 있음

sakila 데이터베이스는 다음 링크에서 다운로드 받았습니다.

이렇게 직접 컨테이너에 작업해서, sakila 데이터베이스/테이블 만들어놓았습니다.

shell> cd /root/DataScience

shell> mysql -u root -p

mysql> SOURCE sakila-schema.sql;

mysql> SOURCE sakila-data.sql;

mysql> USE sakila;

mysql> SHOW TABLES;

도커 이미지 가져오기

  • docker pull jhleeroot/dave_ubuntu:1.0.1

도커 처음 실행하기

  • docker run -Pit -i -t -p 8888:8888 -p 8787:8787 -p 8022:22 -p 3306:3306 --name ubuntu jhleeroot/dave_ubuntu:1.0.1
  • docker attach ubuntu
    • PC 껐다 켜서 실행할 때는 docker start ubuntu 를 먼저 해주신 후 진행

sakila database sql 파일 실행하기

  • Mysql Workbench

    • File -> Open SQL Script -> sakila-schema.sql
    • File -> Open SQL Script -> sakila-data.sql
  • 도커에 sql 복사 후, mysql 실행해서 SOURCE 명령으로 sql 실행

    • 이미 /root/DataScience 디렉토리에 해당 SQL 파일 넣어놓고, mysql에도 넣어놓았습니다.
    • 도커에 파일 복사 방법
      • docker cp sakila-data.sql dave_ubuntu:/root/sakila-data.sql
      • docker cp sakila-schema.sql dave_ubuntu:/root/sakila-schema.sql
      • docker cp sakila.mwb dave_ubuntu:/root/sakila.mwb
본 자료와 같이 IT 기술을 잘 정리하여, 온라인 강의로 제공하고 있습니다
체계적으로 전문가 레벨까지 익힐 수 있도록 온라인 강의 로드맵을 제공합니다

참고: Docker for Windows CPU Core 4개로 만들기

Docker for Windows 설정 (CPU를 4개로 만들기)

No description has been provided for this image

도커 안에서 mysql 데몬 시작하기

  • sudo service mysql start
  • sudo service mysql status

mysql 실행하기

  • mysql -u root -p

(암호는 korea123 입니다.)

도커에 쥬피터 노트북 연결해서 실행하기 (크롬 브라우저로 실행)

  • jupyter-notebook --allow-root >> /var/log/jupyter.log 2>&1 &
    • 맥북: 오픈 크롬 브라우저 -> http://0.0.0.0:8888/ 주소 입력 -> 처음 암호: korea123
    • 윈도우 Docker for Windows: 오픈 크롬 브라우저 -> http://127.0.0.1:8888 주소 입력 -> 처음 암호: korea123
    • 윈도우 Docker Tookbox: 오픈 크롬 브라우저 -> http://%EB%8F%84%EC%BB%A4 컨테이너 IP:8888 주소 입력 -> 처음 암호: korea123
      • docker-machine ip 명령으로 도커 컨테이너 IP를 알아낼 수 있음
    • 서버 로그는 vim /var/log/jupyter.log 에서 보실 수 있음
본 자료와 같이 IT 기술을 잘 정리하여, 온라인 강의로 제공하고 있습니다
가장 빠르게 풀스택 개발자가 될 수 있도록, 최적화된 로드맵을 제공합니다

sakila 데이터베이스는 다음 링크에서 다운로드 받았습니다.

이렇게 직접 컨테이너에 작업해서, sakila 데이터베이스/테이블 만들어놓았습니다.

shell> cd /root/DataScience

shell> mysql -u root -p

mysql> SOURCE sakila-schema.sql;

mysql> SOURCE sakila-data.sql;

mysql> USE sakila;

mysql> SHOW TABLES;