일을 하는데 사용하는 서버를 downgrade 해야하는 일이 생겼다.
..그동안 쌓아 둔 db도 그대로 backup해서 downgrade 한 서버에서 불러서 써야했다.
mariadb를 사용하고 있으며, docker로 돌리고 있다.
먼저 MySQL을 Export해 dump 파일을 만들어보자
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 파일을 새롭게 만든 서버의 현재 컨테이너에서 실행시켜보자
# 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