카테고리 없음

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

Diven 2026. 3. 23. 12:32

📌 개요

이 글에서는 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

🔖 옵션 설명

옵션설명

-h DB 서버 주소
-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-keys foreign key 체크 비활성화 (성능 향상)
--verbose 자세한 로그 출력

📌 TIP

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