MySQL Migration version 4 to 5 ...펌
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;