MariaDB ➡️ MySQL Migration: mydumper & myloader 사용법 정리(스키마 제외, 데이터만)

📌 개요

이 글에서는 MySQL에서 특정 데이터베이스의 데이터만 덤프하고, 다른 서버에 복원하는 과정을 mydumper / myloader 툴로 설명합니다.

  • ✅ 병렬 덤프 및 복원 지원
  • ✅ 데이터만 추출 및 복원
  • ✅ 병렬 덤프 및 복원 지원

🧱 설치

🧤 ubuntu

sudo apt update
sudo apt install mydumper -y

🧤 데이터 덤프 (Source DB 에서)

mydumper \
  -h [DB-IP] \
  -u [User] \
  -p ['password'] \
  -B [DataBase_name] \
  --no-schemas \
  --outputdir /home/ubuntu/[output_dir] \
  --threads 4

🔖 옵션 설명

옵션설명
-hDB 서버 주소
-u, -p접속 계정 정보
-B백업할 데이터베이스 이름
–no-schemas스키마 없이 데이터만 덤프
–outputdir덤프 저장 디렉토리
–threads병렬 처리할 스레드 수

🧤 데이터복원 (Target DB에서)

⚙️ FK 제약조건 끄고 복원

myloader \
  -h [DB-ip] \
  -u [User] \
  -p ['password'] \
  -B [DataBase_name] \
  --directory /home/ubuntu/[output_dir] \
  --disable-keys \
  --threads 4 \
  --verbose

⚙️ FK 제약조건 유지하며 복원

myloader \
  -h [DB-ip] \
  -u [User] \
  -p ['password'] \
  -B [DataBase_name] \
  --directory /home/ubuntu/[output_dir] \
  --threads 4 \
  --verbose

🔖 옵션 설명

옵션설명
–directory덤프 디렉토리 지정
–disable-keysforeign key 체크 비활성화 (성능 향상)
–verbose자세한 로그 출력

📌 TIP

  • ❗ -v는 유효하지 않음 → –verbose 사용
  • ❗ –no-schemas를 빼먹으면 DDL까지 같이 덤프됨
  • ❗ mydumper/myloader 버전이 서로 다르면 에러 발생 가능


댓글

댓글 남기기