euc_kr -> euckr , utf8 변경작업 ( mysql 4.0.x —> mysql 5.x / mariadb 10.4 )

현재 사용하고 있는 데이터베이스 버전이 4.0.x 버전이다  서버의 케릭터셋은 euc_kr 버전이다
근데 이것을  mysql 버전업을 진행하려고 한다 그럼 마이그레이션 작업을 진행해보자

1. euc_kr -> euckr  버전으로 ( Mysql 5.0.x 버전 )
2. euc_kr -> euckr 버전으로 ( MariaDB 5.5.x 버전 )
3. ecu_kr -> utf8   버전으로 ( Mariadb 10.4.x 버전)

원본서버의 서버O/S 언어 확인

mysql 버전 확인 mysql 4.0.27 / 케릭터셋 : euc_kr

이전할 데이터베이스 데이터 확인 : 데이터베이스명 : xinet_test  이중에 테이블 users 로 확인

데이터베이스 백업

 

2. 이제 대상서버에서 데이터를 import  진행해보자   대상 서버의 O/S  언어 상태

대상 서버의 Mysql 버전 및 케릭터셋 확인 :  Mysql 5.0.77 / 케릭터셋 : euckr

해당 서버에서 이제 데이터베이스를 import 진행 해 보자 ( 데이터베이스는 원본서버에서 데이터 이동)

정상적으로 import 되었다면 케릭터셋 및 데이터를 확인 해 보자

 

3. 대상 서버의 Mysql 버전 및 케릭터셋 확인 /  Mariadb 5.5.42 , 케릭터셋 : euckr

이제 해당 서버에서 데이터를 import 진행해 보자  에러가 발생한다.

해당 에러가 발생하는 이유는 dump 파일을 확인해보면 답이 있다 8번 라인이 실제 문제가 있는게 아니고 18번 라인을 보면 TYPE-MyISAM으로 구성되어 있다

버전업이 되면서 TYPE=MySAM 이 부분을 ENGINE=MyISAM 으로 변경해줘야 한다 간단하게 sed 명령어로 변환하자

이제 다시 데이터베이스를 import 진행하자 진행시 케릭터셋을 euckr로 지정해서 import

이제 데이터베이스 들어가서 데이터를 확인해 보자 / 정상적으로 들어간 것을 확인 할 수 있다.

3. 그럼 이제 UTF8 환경으로 데이터를 import 진행해 보자
단 데이터베이스를 import 하기전에 2가지 작업을 진행해줘야 한다 ( TYPE 변경 및 ICONV UTF8로 변경)
현재 서버의 Locale 환경

데이터베이스 버전 확인 및 케릭터 셋 확인

첫번째 iconv로 utf8 변경 작업

두번째 sed 명령어로 TYPE 변경 ( TYPE=MyISAM 이부분이 ENGINE=MyISAM 으로 변경 )

이제 사전 작업이 완료되었으니 데이터베이스를 import 진행 해 보자

정상적으로 데이터베이스가 import 되었다면 확인 해 보자  / 정상적으로 데이터가 들어간것을 확인 할 수 있다.

 

태그

코멘트 쓰기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.

다음의 HTML 태그와 속성을 사용할 수 있습니다:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>



배송정보
배송조회를 하시려면 송장번호를 클릭하세요
배송조회
상품명
주문번호
택배사
송장번호