데이터베이스 예제코드 (MySQL+AWS) - Sakila 데이터베이스로 MySQL 실습하기

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

mysql workbench 설치 - 실습

도커 이미지 가져오기

  • 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개로 만들기)

도커 안에서 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://도커 컨테이너 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;