이 글에서는 하나의 MySQL 데이터베이스(A DB)에서 덤프 파일을 생성한 후, 이를 다른 MySQL 데이터베이스(B DB)로 마이그레이션하는 과정을 단계별로 정리합니다.
🔸 준비사항
- 로컬 macOS 환경
- Homebrew
- A DB(MySQL 서버)의 접속 정보 (호스트, 사용자명, 비밀번호, 데이터베이스 이름)
- B DB(MySQL 서버)의 접속 정보 (호스트, 사용자명, 비밀번호, 데이터베이스 이름)
📌 Step 1: 로컬에 MySQL 클라이언트 설치
macOS에서 MySQL 클라이언트 도구를 설치합니다.
brew install mysql
설치 확인:
mysqldump --version
📌 Step 2: A DB에서 데이터베이스 덤프 받기
A DB에서 데이터를 로컬로 덤프합니다.
mysqldump -h [A_DB_HOST] -u [A_DB_사용자명] -p [A_DB명] > dump.sql
생성된 파일(dump.sql
)은 A DB의 구조와 데이터를 모두 포함하고 있습니다.
📌 Step 3: B DB에 데이터베이스 생성
B DB에 접속하여 새 데이터베이스를 생성합니다.
mysql -h [B_DB_HOST] -u [B_DB_사용자명] -p
MySQL 콘솔에서:
CREATE DATABASE new_database CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
EXIT;
📌 Step 4: 덤프 파일 B DB에 복원
로컬에 덤프한 dump.sql
파일을 B DB로 복원합니다.
mysql -h [B_DB_HOST] -u [B_DB_사용자명] -p new_database < dump.sql
복원 과정에서 특별한 에러가 없다면 데이터는 성공적으로 마이그레이션됩니다.
🚨 주의할 점
- B DB 서버의 방화벽 설정에서 로컬 IP가 허용되어 있어야 접속 가능합니다.
.sql
파일 내에CREATE DATABASE
문이 포함된 경우 데이터베이스 생성 과정은 생략 가능합니다.- 포트 관련 에러가 발생하면 명시적으로 포트를 지정하세요:
mysql -h [B_DB_HOST] --port=3306 -u [B_DB_사용자명] -p new_database < dump.sql
✅ 마이그레이션 확인
복원이 완료되면 데이터가 정확히 이전되었는지 확인합니다:
mysql -h [B_DB_HOST] -u [B_DB_사용자명] -p new_database
콘솔에서 다음을 실행해 테이블 목록과 데이터를 확인할 수 있습니다:
SHOW TABLES;
SELECT COUNT(*) FROM some_table;
이렇게 하면 간단하고 안전하게 MySQL 데이터베이스를 덤프하여 다른 MySQL 서버로 마이그레이션할 수 있습니다.