✅ [실무 가이드] Docker MySQL 버전 변경 및 dump 파일 갱신 방법
📌 개요
도커 환경에서 MySQL을 사용 중이라면, 아래 두 작업은 매우 자주 발생합니다:
- ✅ MySQL 버전 업그레이드 or 다운그레이드
- ✅ 초기 데이터(dump.sql)를 변경하여 재적용
도커 환경에서는 .env와 docker-compose.yml을 기반으로 아주 쉽게 처리할 수 있습니다.
🛠 1. MySQL 버전 변경 방법
✅ Step 1: .env 파일에서 MYSQL_VERSION 수정
# .env 파일
MYSQL_VERSION=8.4 # 원하는 버전으로 수정 (예: 5.7, 8.0.34 등)
🔗 Docker Hub - MySQL Tags 참고하여 사용 가능한 버전 확인
✅ Step 2: 컨테이너 재생성
docker-compose down # 기존 컨테이너 종료
docker-compose pull # 새로운 버전의 이미지 다운로드
docker-compose up -d # 새 버전으로 컨테이너 실행
기존 volume은 유지되므로 데이터는 그대로 남습니다.
🧹 2. dump 파일(dump.sql) 변경하여 재적용하기
기본적으로 dump는 docker-entrypoint-initdb.d 폴더에 .sql 파일로 넣으면, 컨테이너 최초 생성 시에만 실행됩니다.
이미 컨테이너가 한 번 실행된 경우, dump 파일을 바꿔도 다시 실행되지 않습니다.
✅ Step 1: init/dump.sql 덮어쓰기
init/ 폴더에 새 SQL 파일을 덮어씁니다:
~/docker-mysql-dev/
├── init/
│ └── dump.sql ← ✅ 새로 바꾼 dump 파일로 교체
✅ Step 2: volume 제거 후 컨테이너 재생성
docker-compose down -v # volume까지 삭제 (DB 데이터도 초기화됨)
docker-compose up -d # dump.sql이 자동 실행됨
🛑 -v를 붙이지 않으면 dump.sql이 무시됩니다!
도커는 DB가 비어있을 때만 dump를 적용합니다.
🔍 확인 방법
docker exec -it local-mysql mysql -u root -p
# 비밀번호 입력 후
SHOW DATABASES;
또는 DataGrip에서 DB 확인
✅ 요약
작업 | 설명 |
---|---|
MySQL 버전 변경 | .env 수정 후 down → pull → up |
dump 파일 재적용 | 파일 교체 후 docker-compose down -v → up -d |
기존 데이터 유지 | -v 없이 down 하면 volume은 유지됨 |
기존 데이터 초기화 후 재적용 | 반드시 -v 옵션 사용해야 함 |
'Setting' 카테고리의 다른 글
[WSL2] Windows에서 리눅스를 사용하는 방법: WSL & WSL2 정리 (1) | 2025.05.08 |
---|---|
[Docker/ErrorLog] Homebrew MySQL 삭제 후에도 3306 포트가 점유되는 현상 (0) | 2025.05.04 |
[Docker/MySQL] Docker로 MySQL 개발 환경 구축하기 (0) | 2025.05.04 |
[Eclipse] Eclipse 폴더별 프로젝트 분류하기 (Working Set 방식) (0) | 2025.04.29 |
[MySQL] Homebrew를 통한 MySQL 설치 (업데이트 버전) (0) | 2025.04.27 |
댓글