도커 안에 Mysql 데이터 Dump를 어떻게 넣는가?

안지환·2023년 6월 5일

공부 기록

목록 보기
2/5

환경 셋팅 및 필수 조건

Docker에 SQL 데이터베이스를 Dump 하기전에 다음과 같은 환경이 필요합니다.

  1. Docker를 설치했습니다.
    Mac OS 기준
    1. 홈브루(Homebrew)로 Docker 다운로드 받기
# Homebrew 설치 된 상황
brew install docker
  1. 공홈에서 설치 파일 다운로드 받기
    https://www.docker.com/get-started/

메모: Window 사용자는 윈도우에 맞게 다운로드 받으시면 됩니다.

  • Docker Mysql 이미지는 버전은 8로 했습니다.
docker pull mysql:8

메모: 저의 Mysql 사양은 8버전으로 각자 필요한 버전에 맞게 Image를 받으시면 됩니다.

실행 단계

  1. 실행이 완료된 컨테이너를 포함한 모든 컨테이너를 확인하려면 docker ps -a를 실행합니다
docker ps -a

  1. SQL 파일을 가진 폴더를 Docker로 복사하려면 docker cp <해당 파일 경로> <docker 컨테이너 ID> :/tmp를 실행합니다.
docker cp /Documents/realmysql80-main c51e276eef9f:/tmp
  1. Docker에 접속하려면 docker exec -it <docker 컨테이너 ID>를 실행합니다.
docker exec -it c51e276eef9f bash

중요: 만약 Error response from daemon: Container is not running 에러 메세지가 나온다면 해당 Docker 컨테이너를 실행 시켜야 합니다.

  1. Docker에서 Mysql로 접속하려면 mysql -u root -p를 실행합니다.
mysql -u root -p

  1. Mysql 데이터베이스 선택하려면 use <데이터베이스>를 실행합니다.
# 데이터베이스 확인하기
show databases;
# 데이터베이스 선택하기
use employees;

  1. docker에서 복사 해 온 SQL 파일을 데이터베이스에 Import 하려면 SOURCE <docker에 옮긴 파일 경로>/<데이터베이스>.sql를 실행합니다.
SOURCE ./tmp/realmysql80-main/employees.sql

메모: Mysql 접속 할 때 mysql -uroot -p [Database-Name] < /tmp/[File-Name].sql 로 SQL 파일 Import를 할 수 있습니다.

참조 문서

profile
BackEnd Developer

0개의 댓글