웹마스터 팁
Mysql에서 큐브리드로 데이터이전
2010.10.23 11:08
우선 이글에서는 프로그램의 설치와 서버 셋팅등에 대해서는 생략합니다. 모든 프로그램이 설치되어있다고 가정하에 쓴 글입니다.
크게 두가지 방법이 있습니다.
첫번째는 CMT(Cubrid Migration Tool)를 이용하는 방법입니다.
http://sourceforge.net/projects/cubrid/files/ 에 CMT 프로그램이 있습니다.
CMT를 이용한 마이그레이션이 손쉽기는 하지만 인덱스를 재생성해야할 뿐 아니라 Xe에서 사용되는 필드들을 정확히 일치시키지 않는 경우 예기치 못한 문제가 발생할 소지가 있습니다. 제 경우 일부 테이블이 마이그레이션 과정에서 깨지는 현상이 있었습니다. 다른 테이블에 있어야할 컬럼들이 엉뚱한 테이블에 들어있기도 하고, 때로는 일부 컬럼이 사라지기도 하는 등등... 아마도 CMT가 베타버전이어서 향후 점차 개선되고 안정화되리라고 생각합니다.
구체적인 방법은 http://cubrid.com 의 문서들을 참조하시기 바랍니다.
마이그레이션이 끝나고나서 인덱스도 재생성해줘야하고 제 경우 일부 테이블이 깨져서 복구하는 과정까지 거쳤습니다.
http://www.wildgreen.co.kr/karma/textyle/386657 참조
두번째는 XE 내부에서 export와 import를 이용해서 XML로 이전하는 방식입니다.
이글을 쓰는 현재 상황에서 가장 안전하고 확실한 방법은 큐브리드용의 새로운 홈페이지를 만들고 기존 홈페이지의 자료를 XML로 이전하는 방법입니다. 물론 두개의 홈페이지의 설정을 똑같이 만들어줘야하는 불편은 감수해야합니다.
기본적인 개념은 기존의 홈페이지의 DB를 바꾸는 것이 아니고 똑같이 생긴 새로운 홈페이지로 데이터를 이전하는 것입니다.
큐브리드가 설치되어있고 작동한다는 가정하에
1. 데이터베이스 생성
Cubrid Manager에서 새 홈페이지에서 사용할 database를 생성시켜준다.
이때 db 이름과 dba 패스워드를 작성해야하는데 이는 Xe 설치때 가장 중요한 변수이다.
2. XE 설치
새로 XE를 깔아도 되지만 간단한 방법은 기존 홈페이지에서 모든 폴더와 화일을 통채로 복사합니다. 이때 첨부화일이 들어있는 files/attach 폴더까지 통채로 복사해도 되지만 설치가 끝난후 별도로 복사이동해도 상관없습니다.
files 폴더까지 통채로 복사한 경우는 ./files/config/db.config.php 화일은 삭제해주셔야합니다.
웹서버 설정을 마치고 웹에서 접속하면 설치화면이 나타납니다.
이때 최상단의 cubrid 에 체크할 수 있는 항목이 나타나지 않는다면 php에 cubrid function이 설치되지 않은 것입니다.
큐브리드 메뉴얼의 CUBRID시작 - PHP를 이용한 프로그램작성 - PHP 모듈설치를 참고하시기 바랍니다.
http://www.cubrid.com/online_manual/cubrid_830/index.htm
cubrid에 체크하고 설치를 진행하면 DB 정보를 입력하는 화면으로 들어가게 됩니다.
필요한 모든 정보를 입력하고 등록하면 설치가 완료됩니다.
3. 관리자페이지 설정
이후 관리자로 로그인해서 모든 설정을 기존의 홈페이지와 동일하게 셋팅합니다.
미리 모든 게시판을 만들어야합니다. 이때 카테고리늘 미리 설정할 필요가 없습니다. 데이터 이동시 자동으로 생성됩니다.
다음에 레이아웃과 페이지를 설정하고 기존 홈페이지와 동일한 구조와 형태를 갖추면 데이터 이전을 시작합니다.
4. 데이터 Export
우선 XE 데이터 이전툴을 다운로드 받아서 기존의 홈페이지에 설치합니다.
http://www.xpressengine.com/?mid=download&category_srl=18324038&package_srl=18324314
설치위치는 웹에서 접근 가능한 곳이어야합니다.
웹브라우저에서 접속해서 XE가 설치된 폴더를 입력해주면 2단계로 넘어갑니다.
2단계에서는 이전할 게시판을 선택하시면 됩니다.
3단계에서 첨부화일 미포함에 체크하신후 클릭해주셔야합니다. XE에서 XE로 이전하기 때문에 첨부화일은 단순복사만 해도 됩니다. 첨부화일을 포함하는 경우 XML 화일의 크기가 기하급수적으로 커져서 게시물의 숫자가 많은 경우 분할을 해서 이전해야합니다.
하단의 URL복사를 클릭하면 생성되는 XML 화일의 주소가 클립보드에 복사됩니다.
5. 데이터 Import
다시 새로 설정할 홈페이지의 관리자 화면으로 돌아갑니다.
관리자페이지 좌측하단의 데이터 이전관리를 선택하고 이후는 기존 제로보드 4에서 XE로의 이전과 동일합니다.
각 게시판마다 별도로 이전해야하고 회원정보 까지 이전후 회원정보 동기화도 해주시는 것이 좋습니다.
6. 첨부화일복사
./files 폴더를 복사하지 않았던 경우에는 기존 홈페이지의 ./files/attach 폴더를 새홈으로 복사합니다.
화일복사시 files 폴더까지 통채로 복사했던 분들은 캐시화일을 재생성해주셔야합니다.
7. 마무리...
이후 페이지의 위젯들이 정상적으로 작동하는지... 권한설정들이 제대로 되어있는지... 애드온들은 기존 홈과 동일한지 확인하시면 됩니다.
8. 사족
이시간 현재 Mysql 에서 큐브리드로 이전은 가능하지만 반대로 큐브리드에서 Mysql로 이전하는 확실한 방법은 없습니다. 큐브리드로 이전시 이점을 명심하시기 바랍니다.
이론적으로는 export와 import를 이용해서 다시 mysql로 이전하면 될 것같은데 어떤 이유인지 xe데이터추출이 큐브리드에서는 db 연결이 되지 않습니다.
이슈를 등록할만 곳이 마땅치 않아 코어프로젝트에 등록했더니 딴데가서 알아보라네요...ㅉㅉ
좌우간 Mysql에서 큐브리드로의 전환은 이시간 현재 단방향만 가능합니다. 다시 돌아오는 방법이 없습니다. 따라서 요단강 건너기전에 심사숙고하셔서 결정하시기 바랍니다.
댓글 3
-
squarehacker
2010.10.23 21:44
-
면스판
2010.10.24 19:00
CMT 담당자입니다. 일단 테스트해보시고 이런 소중한 경험들을 기록해주셔서 고맙습니다.
저희도 MySQL+XE 데이터를 가지고 CMT 테스트를 수행했는데, 미처 발견하지 못한 몇몇 문제들이 있는 것 같습니다. 아직 베타버전입니다만, 향후 정식 버전에 반영하여 문제점 개선할 수 있도록 하겠습니다. 감사합니다~
-
sugarkane
2010.11.20 03:13
mysql -> cubase 이전,
xe data export tool 로 회원정보 이전시..
비밀번호가 안맞고 동기화도 안되고 있습니다.
회원정보는 xe data export tool 로 이전 불가능한 것인가요?
좋은 정보 정말 감사합니다 ^^
카르마님께 배우고 가는게 정말 많습니다 ~> <~