📌 개요
이 글에서는 MySQL에서 특정 데이터베이스의 데이터만 덤프하고, 다른 서버에 복원하는 과정을 mydumper / myloader 툴로 설명합니다.
- ✅ 병렬 덤프 및 복원 지원
- ✅ 데이터만 추출 및 복원
- ✅ 병렬 덤프 및 복원 지원
🧱 설치
🧤 ubuntu
sudo apt updatesudo 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 버전이 서로 다르면 에러 발생 가능