메모

MySQL Migration version 4 to 5 ...펌

맘편한넘 2013. 10. 4. 20:58

[MySQL] Migration version 4 to 5

조동원 2009-10-16 21:57:02 주소복사
조회 118 스크랩 0

Mysql 버전 4에서 5로 마이그레이션 시 아래와 같은 변경 사항이 있다.

(MySQL 서버에 대한 세팅은 언급하지 않겠다.)

1. Storage Engine

MyISAM --> InnoDB

2. Character Set

기존 캐릭터셋 --> 새 캐릭터셋

위 사항을 참고하여 아래와 같이 데이터 마이그레이션을 진행한다.

1. 기존 MySQL 서버에서 mysqldump 명령을 이용해 덤프를 뜬다.

mysqldump -u<user> -p<password> Target_DB_Name > Result.dat

* 위에서 Target_DB_Name는 마이그레이션이 필요한 데이터베이스 이름이고,

Result.dat는 생성될 덤프파일의 이름이다.

2. 덤프뜬 데이터 파일을 MySQL5 버전이 설치된 서버로 복사한다.

3. 복사된 파일을 vi 명령을 이용해 오픈한 후 명령 모드를 실행한다.(명령 모드는 ':')

그런다음 아래 명령을 이용해 스토리지 엔진을 변경해 준다.

:%s/MyISAM/InnoDB/g

위 명령은 sed 명령을 이용해 'MyISAM' 문자열을 'InnoDB' 문자열로 치환해 주는 것이다.

같은 방식으로 아래 명령을 이용해 디폴트 캐릭터셋을 원하는 형식으로 바꿔준다.

:%s/euckr/utf8/g

그러나 데이터 용량이 크거나 vi 편집에 익숙지 않다면 아래 명령을 이용해도 좋다.

cat OldDumpFile.dat | sed 's/MyISAM/InnoDB/g' > NewDumpFile.dat

4. 이제 수정이 끝난 dump 파일을 새 MySQL에 입력해 주어야 한다.

dump 파일을 입력하기 전에 입력할 데이터베이스의 미리 생성해 주어야 한다.

MySQL 서버에 로그인한 후 아래 명령을 이용해 데이터베이스를 생성해 준다.

create database DBName;

그런 다음 MySQL에서 빠져나온 후 아래 명령을 이용해 dump 파일을 MySQL에 입력해 준다.

mysql ?u<user> ?p<password> DB_Name < DumpFile.dat

입력이 끝났다면 MySQL 서버에 접속해 아래 명령을 이용해 해당 데이터베이스가 잘 보이는지 확인한다.

show datagases;

use DB_Name;

show tables;