[Docker] Docker에서 MySQL dump export/import 하기

Hyunji·2023년 3월 30일
0

공부

목록 보기
31/35

일을 하는데 사용하는 서버를 downgrade 해야하는 일이 생겼다.
..그동안 쌓아 둔 db도 그대로 backup해서 downgrade 한 서버에서 불러서 써야했다.

mariadb를 사용하고 있으며, docker로 돌리고 있다.

먼저 MySQL을 Export해 dump 파일을 만들어보자

Export

docker exec -it [contianerId] /bin/bash

# 전체 database dump
mysqldump -u[사용자아이디] -p[패스워드] 데이터베이스명 > 경로 및 저장될 파일명.sql
# mysqldump -uroot -p1234 testdb > /home/backup/testdbdump.sql

# 특정 table dump
mysqldump -u[사용자아이디] -p[패스워드] 데이터베이스명 테이블 명 > 경로 및 저장될 파일명.sql
# mysqldump -uroot -p1234 testdb testtb > /home/backup/testdb_testtb.sql

# container 안의 파일 바깥으로 가지고 나오기
docker cp contianerId:/home/backup/testdb.sql /home

export 한 dump 파일을 새롭게 만든 서버의 현재 컨테이너에서 실행시켜보자

Import

# container에 파일 복사
docker cp /home/테이블명.sql containerId:/tmp
# docker cp /home/testdb.sql contianerId:/tmp

docker exec -it [containerId] /bin/bash

# sql script 실행
mysql -h127.0.0.1 -p[비밀번호] 데이터베이스명 < /tmp/테이블명.sql
# mysql -h127.0.0.1 -p1234 testdb < /tmp/testdb.sql

# error 시 강제로 다음거 실행
mysql -h127.0.0.1 -p[비밀번호] -f -D데이터베이스명 < /tmp/테이블명.sql
# mysql -h127.0.0.1 -p1234 -f -Dtestdb < /tmp/testdb.sql
profile
성장중인 개발자

0개의 댓글