Cafe24 신서버로 MySQL DB Migration

아, 나름대로 힘든 하루 였음.
아래는 세 줄 요약.

  1. 제로보드 5 베타판 설치를 위해 호스팅 업체인 Cafe24에 서버 이전을 요구함.
  2. 이전 된 신서버(MySQL 5.0)와 구서버(MySQL 3.23) 간의 DB 버전 차이로 백업한 DB가 복구가 안 됨.
  3. 반 나절의 닭질 끝에 해결했음 -_-v

언제나 너무나도 바쁠 때면, 괜시리 다른 일들이 눈에 밟힌다.
이번 제로보드 5 베타판 역시 마찬가지.

뒤늦게(8월에 발표된 것), 혹은 너무 일찍(버전 0.05-_-; ) 필이 꽂혀서 알아본 결과,
지금 호스팅 서버에서는 제로보드 5 베타를 설치가 불가능하고, 굳이 하려면 호스팅 업체에게 제로보드가 설치 가능한 서버로 이전해 달라고 요청하면 된단다.

그래서 바로 서버 이전을 요청하고, 모든 자료와 DB 백업을 해 두었다.
그리고 마침내 새 서버로 이전한 후, 홈페이지를 다시 복구 하려는 찰나!
다음과 같은 에러가 나며, DB복구에 실패하였다. -_-;

[ethiel@uw64-005 www]$ mysql -u ethiel -p ethiel < ethiel-2006-11-14.dump
Enter password:
ERROR 1064 (42000) at line 11: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘desc text,
date datetime default NULL,
place varchar(255) default NULL,
sh’ at line 5
[ethiel@uw64-005 www]$

확인해 본 결과, 예전 서버의 MySQL 버전은 3.23, 지금 서버는 5.0.
그 사이에 무-_-수히 많은 업그레이드가 진행되면서 SQL 구문이 호환되지 않는 부분이 발생한 것이다.

급한 마음에 vi 로 dump파일을 열어 보았지만,
흰 것은 종이요 검은 것은 글씨라.. 가 아니라 흰 것은 글씨요, 검은 것은 바탕화면…
머 아는 것이 있어야지.. -_-; OTL

순돌아빠 버금가는 박학다식, 진철 옹에게 헬프를 요청했으나,
진철 옹은 회사 일 러쉬로 인해 본진 수비에 급급, 헬프할 형편이 아니었다.

Anyway,
결국은 Cafe24 고객 서비스 센터와 구글링과 봉사 문고리 잡기 식 에디팅으로 간신히 복구 성공.
내용은 아래와 같다.

  1. ERROR 1064: desc, show는 Table column의 type으로 사용시 `desc`, `show`와 같이 변경해 주어야 함. -> 예약어이기 때문
  2. ERROR 1071 ‘Specified key was too long’: Table 내에서 사용된 byte가 1000이 넘지 않도록 수정해야 함. -> MySQL 4.1부터 적용되는 utf-8환경에서 var(255)는 255 bytes가 아닌 255*43 bytes로 인식함.
  3. euc-kr로 인코딩 엔트리의 경우, utf-8로 변경해 주어야 함. -> 제로보드 4.x의 경우 euc-kr을 사용하기 때문에 따로 작업이 필요하다. 다음 링크 참조 [제로보드를 UTF-8로]

별거 아니지만, 문외한인 나로서는 꽤 삽질 했던 내용이다.
혹시나 나와 같이 해매고 있을 사람들을 위해 포스팅 한다.

p.s. 제로는 제로보드 5.0의 차후 버전이 지금 버전(beta 0.05)과 구조적으로 완전히 달라질 것이며, 서로 호환되지 않을 것이라고 발표함. -_-; 정식 버전 나올 때 까지 일단 손 때기로 결정;

p.s.2 11월19일 새로 내용 추가. 이탤릭 체 부분 참고.

5 thoughts on “Cafe24 신서버로 MySQL DB Migration”

  1. 아악;

    인코딩 문제(euc-kr > utf-8) 때문에 기존 제로보드 게시물들은 엉망이 되었다; T_T
    그나마 위키랑 블로그는 살아남아서 다행. -_-;

  2. 아 진짜 수고했다.
    euc-kr -> utf-8 문제는 php 의 iconv 모듈을 통해서 해결 할 수 있을꺼당.

    iconv, 혹은 페도라 한글 문제 등으로 검색.

    페도라 부터 전격 UTF-8 도입으로 헷갈리는게 이만 저만이 아니당.

    장기적으로는 UTF-8이 맞다고는 하는데. 영 복잡해 -_-;

Leave a Reply

Your email address will not be published. Required fields are marked *