G4 euckr -> G5 utf8 이관 작업 후기 > 그누보드5 팁자료실

그누보드5 팁자료실

G4 euckr -> G5 utf8 이관 작업 후기 정보

G4 euckr -> G5 utf8 이관 작업 후기

본문

이글은  lkwa201님의 2016.02.29 23:27:13 의 G4 euckr -> G5 utf8 이관 작업 팁에 감사드리며
직접 해본 결과를 토대로 초보들에게 도움을 드리기 위해 첨언하는 것일 뿐입니다.
오래전부터 바꾸고 싶었는데 엄두가 나지 않고 방법도 정리된게 없는거 같아 못하고 있었는데...
 lkwa201님의 팁에 용기를 내어 해보았습니다.

다음은 lkwa201님의 원문입니다. 나의 첨언은 ->로 표시하겠다능

 
1. G4(EUC-KR) 환경에서의 작업

※ 중요
phpMyAdmin 웹 상이 아닌 콘솔에서 백업 받습니다.

->콘솔은 putty와 같은 ftp 관리 프로그램을 말한다능. db파일 올리고/내리고/자르고/합치고 등

※ 중요
케릭터셋 옵션넣어 주시는데 euckr 이 아닌 utf8로 지정합니다.
mysqldump -u유저명 -p패스워드 DB명 --default-character-set=utf8 > 백업파일명.sql

->패스워드가 db패스워드인지 ftp패스워드인지 햇갈렸다능. db를 말한다능.

여기서 확이 하고 싶으시다 하시는 분들은 에디터플러스를 열어서
파일 케릭터셋을 확인하시면 utf8로 되어있는 것을 확인 하실 수 있습니다.
Q) 아 "ENGINE=MyISAM DEFAULT CHARSET=euckr;" 이게 있는게 어쩌죠?
A) 패스하세요~ 수정하셔도 무방할 듯...

->ENGINE=MyISAM DEFAULT CHARSET=euckr 이거 안바꿔도 되더군요. 1.에서 이미 utf로 백업해서 그런거 같습니다.

2. 백업파일명.sql을 내려 받아 G5가 설치된 서버에 콘솔 하나 띄어 주시고 FTP 프로그램을 이용해서 업로드

->여기서 문제는 백업한 db 용량이 몇기가 되면 한번에 작업하기에 문제가 있더라능...
업로드는 되는데 g5로 구조를 바꾸는 과정에서 문제가 생기더라능...
뒤에서 설명하겠다능.


3.  G5가 설치된 서버에 콘솔에서 명령어로 밀어 넣어줍니다
(phpMyAdmin 에서 해도 상관 없습니다, 실행속도가 콘솔보다는 느립니다... 콘솔에서 명령어로 넣으시는게 빨라요)
->용량이 몇백메가만 돼도 phpMyAdmin은 무조건 안됩니다. 그래서 아예 putty로 하라능.

※ 중요
명령어에 케릭터셋 옵션넣어 줍니다 이 때에는 utf8 로 지정합니다.
mysql -u유저명 -p패스워드 DB명 --default-character-set=utf8 < 백업파일명.sql


4. g4에 있던 config.php 파일을 복사해 옵니다. G5에 config.php 파일이 있으니 파일명을 g4_config.php로 복사.
g4_config.php의 파일을 수정해 줍니다.

$g4['charset'] = "euc-kr"; -> $g4['charset'] = "utf8"; 수정 후

g5의 g4_import.php로 g4_config.php 입력하여 런 시켜주시면 끝.


->추가:
용량이 작고 테이블이 간단한 경우 즉 그누원본의 wr_10까지 그런데
몇년 쓰던 사이트의 wr_10까지만 쓰는경우가 얼마나 될거냐그,,,이미 늘렸지..ㅋ

 위의 설명과 같이 된다능. 그러나
테이블이 필드 추가되거나 용량이 큰 경우는 안되더라능,

회원정보나 그밖의 기본적인 것은 g5로 정상적으로 들어온다능.

어떤 게시판의 필드를 늘렸거나 용량이 크면 g4_import가 불완전하게 된다능.
g5 테이블에는 일부 필드가 날라가거나 절반가량만 db에 들어오더라능, 유유

그래서 삽질을 많이 했다능,,.,된장. 데기랄..유유

최초에 g4 백업받은 것을 업로드 한것은 정상으로 들어온다능
g4_어쩌구 하는 것들 말이라능. g4 어쩌구로 백날 잘 들어온들 어디다 써먹을 건가,..ㅋㅋ
g5 깔아놓고 g4로 백날 정상으로 들어오면 뭐할거나그..유유

g4_import를 해도 g5에 정상적으로 들어오지 않은  테이블은
1)putty로 다운을 받아서 2)에이트플러스로 열어서 기왕하는 거니 default-character-set=utf8로 모두 바꾸기로 바꾸어 주었다능. 그리고 데이터 안의 g4_어쩌구 되어 있는 테이블명을 모두 g5_어쩌구로 모두 바꾸기로 바꾸고 저장했다능. 테이블명 안바꾸면 g4로 들어가버린다능..백날 삽질한다능)
3)g5에 정상적으로 들어오지 않는 테이블을 삭제다능. (삭제하지 않고 수정한 백업파일을 올리면 뻑난다능. 또 몇번 삽질함)
4)그리고 putty로 mysql -u유저명 -p패스워드 DB명 --default-character-set=utf8 < 백업파일명.sql 로
밀어넣었다능.

그러니짠하고 테이블이 정상으로 복원되었다능.ㅋㅋ

정상적으로 이전하기 까지 초보이다보니  죽어라 삽질많이 했다능,,,유유

*초보라 어려웠던 부분은 g5 테이블과 같은 이름이라도 별도의 필드를 추가한 경우 g5_import로는 인식되지 않아 해당 테이블은 정상적으로 복원이 안되고 g4_write_어쩌구로 남아있는 것이다능..

1.한번해서 안된 import를 또 반복하다가 디비 망실될거 같아서 또 할 수도 없긍...
2.비정상적으로 복원된 것을 이용할 수 도없고...
3.그래서 정상인거는 문제없으니 비정상적으로 복원된 테이블만  g4_write_어쩌구를  g5_write_어쩌구로 고치면 될거 같은데 문제는 원래 덤프한 g4가 용량이 커서 에디트플러스에서 열리지가 않는다능...유유


따라서 g4 dump 한 것을 1)putty를 이용해 나누어 dump한다음...2)다운받아 문제되는 테이블의 g4_write_어쩌구를  g5_write_어쩌구로 고치고 3)올린다음에 그걸 다시 putty로 서버상에서 합치기...ㅋㅋ 개삽실을 햇다능,,,유유. 나누기 합치기는 또 어떻게 하는지 구글링으로 하려니...putty사용법도 잘 모르는데...첨임,,,유유
*주의
1)이전작업할 때 위의 1에서 g4를 백업받은 디비만 있으면 안전하니 걱정말라능.
따라서 백업후에는 운영중인 g4사이트를 utf-8 케릭터셋으로 바꾸시라능.(이는 사이트를 완전 밀어버리는 것이라능.)

2)g5를 새로 설치하라능.

3)위의 lkwa201님의 3과 4를 하라능...

그래도 안되면 삽질을 더 하라능...ㅋㅋ
추천
2

댓글 7개

문제라뇨~,,,팁에는 전혀 문제 없었구요,,,g4를 오래 쓰다보니 테이블의 필드(명)  추가하고,,그러다 보니 g5_import가 인식안되고 뻑나는 현상인거죠...오래전부터 이전하고 있었는데 몰라,,또 어려울 거 같아서 전전긍긍하다 팁 덕분에 이전할 수 있었습니다.감사합니다.
DB 마이그레이션 관련 팁
1. 덤프를 할때 테이블 따로, 데이터 따로 덤프를 하면 복구할때 좀더 쉽게 하거나 수정할 수 있습니다.
2. 파일이 큰 경우 에디트플러스나 아크로에디터로 열면 몇기가 파일도 열수는 있습니다.(수정해서 저장하기는 쉽지 않습니다만...)
3. 파일내 문자열 일괄 변환의 경우 쉘에서(putty 접속화면) 바로 할수 있습니다.
perl -pi -e 's/g4_write_/g5_write_/g' /home/users/db/dump.sql
파일을 나누고 다시 합치는건 위험요소가 매우 큽니다.
4. 데이터가 잘 안들어가는 데이터가 많은 테이블의 경우 해당 테이블 데이터만 따로 덤프를 뜨면 보다 이전이 쉬워집니다.
Q) 아 "ENGINE=MyISAM DEFAULT CHARSET=euckr;" 이게 있는게 어쩌죠?
A) 패스하세요~ 수정하셔도 무방할 듯...

->ENGINE=MyISAM DEFAULT CHARSET=euckr 이거 안바꿔도 되더군요. 1.에서 이미 utf로 백업해서 그런거 같습니다.

이것에 대한 반론입니다.
euckr  은 utf8 로 변경하지 않는 경우 실제 테이블이 euc-kr 캐릭터로 설정될수 있습니다.
utf-8 전용 디비가 아닌 euc-kr, latin-1, utf-8 혼용으로 세팅된 디비에서는 그렇게 개별 세팅되기도 합니다.



g4 와 g5 는 필드가 다소 변경이 있습니다.
게시판 g4_write_  를 g5_write_ 로 단순 변경의 경우 게시판에 필요한 추가 필드가 누락되서 무제될 수 있습니다.
>ENGINE=MyISAM DEFAULT CHARSET=euckr 이거 안바꿔도 되더군요. 1.에서 이미 utf로 백업해서 그런거 같습니다.

이것에 대한 반론입니다.
euckr  은 utf8 로 변경하지 않는 경우 실제 테이블이 euc-kr 캐릭터로 설정될수 있습니다.
utf-8 전용 디비가 아닌 euc-kr, latin-1, utf-8 혼용으로 세팅된 디비에서는 그렇게 개별 세팅되기도 합니다.
전체 2,427 |RSS
그누보드5 팁자료실 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT