DevOps/Docker

Docker - Mysql DB 정보 옮기기

_sparrow 2020. 9. 10. 10:00
반응형

Mysql DB정보를 다른 서버로 옮기려고 할 때는 저장된 데이터를 추출해야 한다.

DB dump를 도와주는 프로그램이 되어줄 MySQL Workbench 

직관적으로 DB를 사용하고 있었지만 이런 기능도 있는 줄은 몰랐다. 쉽고 빠르게 DB 정보를 전달할 수 있으니 같이 보자

 

1. 정보를 가져오려는 DB에 접속하고 아래와 같이 Data Export를 클릭한다

Data Import는 데이터를 가져올 수 있다. 일단 추후에 공부해보겠다.

 

 

2. 가져올 DB 스키마 선택하고 테이블 선택, 아래와 같이 옵션을 클릭해준다.

Export to Self-contained File 옵션을 사용해야 하나의 sql파일 안에 모든 DB정보가 담긴다.

Export to Dump Project Folder 옵션은 하나의 디렉터리 안에 각각의 테이블 정보가 담긴다. sql파일이 가져올 테이블 개수만큼 존재하게 된다.

 

이렇게 하면 Export는 끝났다.

필자는 DB를 세팅을 도커 mysql 이미지 빌드할 때 DB내용을 저장해서 사용할 생각이다.

 

 sql파일을 mysql 폴더에 저장하자 

 

n3-testdb.sql이 Export한 파일이다

 

Dockerfile 내부의 코드

FROM mysql:5.7

# Mysql 환경설정
ENV MYSQL_DATABASE example
ENV MYSQL_USER root
ENV MYSQL_ROOT_PASSWORD sql123!
ENV MYSQL_ROOT_HOST '%'

#DB Dump
COPY n3-testdb.sql /docker-entrypoint-initdb.d/

/docker-entrypoint-initdb.d/ 위치에 sql파일을 저장시켜주면 도커 컨테이너 내부에 DB정보가 담기게 된다.

 

반응형

'DevOps > Docker' 카테고리의 다른 글

Docker timezone 적용하기  (0) 2020.12.30