그누보드4에서 그누보드5로 DB이전 오류

그누보드4에서 그누보드5로 DB이전 오류

QA

그누보드4에서 그누보드5로 DB이전 오류

본문

이곳에서 많은 도움을 받고 있는 눈팅회원입니다.

아무것도 모르지만 많은 지식을 주시는 분들께감사드리며

아무리해도 안되다보니 이렇게 문의글 남겨드립니다.;

 

기존 카페24에 있던 그누보드4DB와 데이터를 신규 서버로 이전하려고 합니다.

신규 서버환경은 윈도우서버와 mysql, php등을 설치해서 기존에 다른

그누보드 사이트는 정상 동작하고 있는 상태입니다.

그리고 "phpMyAdmin"은 설치가 안되어져 있는상태입니다.

 

기존 카페24에 있던 DB는 mysqldump를 이용해서 백업 받고

"mysqldump -u 사용자id -p db명 > 백업파일명"

해당sql파일을 서버 업로드한뒤에

sql파일 에디트플러스로 열어서

내용중 ") TYPE=MyISAM;" 부분으로 => ") ENGINE=MyISAM DEFAULT CHARSET=utf8;"로 전체 수정하고

새이름으로 저장해서 기존 인코딩이 "ANSI"로 되어있던걸 "UTF-8"로 변경하여 저장하였습니다.

약 16메가정도 되더군요.

그리고 다른 회원님 글을보니 (http://sir.kr/g5_tip/2678) sql파일 내용중


-- MySQL dump 9.11
--
-- Host: localhost    Database: DB명
-- ------------------------------------------------------
-- Server version	4.0.30-log
 
--
-- Table structure for table `g4_auth`
--
 
CREATE TABLE g4_auth (
  mb_id varchar(255) NOT NULL default '',
  au_menu varchar(20) NOT NULL default '',
  au_auth set('r','w','d') NOT NULL default '',
  PRIMARY KEY  (mb_id,au_menu)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
 
--
-- Dumping data for table `g4_auth`
--
 
 
--
-- Table structure for table `g4_board`
--
11번라인 윗쪽은 기존에 그누보드5 DB내용중

-- MySQL dump 10.13  Distrib 5.6.26, for Win64 (x86_64)
--
-- Host: localhost    Database: DB명
-- ------------------------------------------------------
-- Server version	5.6.26

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

이렇게 수정하였습니다.

 

기존카페24에서 "config.php"파일을 다운로드 받은뒤 "config_utf8.php"로 이름을 변경하고

그누보드설치폴더 루트에 업로드하고 해당 "config_utf8.php"를 다시 불러와

내용중 73번라인에 "$g4['charset'] = "에 "euc-kr"로 되어있던걸 "utf-8"로 변경하고

인코딩형식 역시 utf-8로 지정후 저장하였습니다.

 

그리고는 mysql을 이용해 해당 DB로 복원을 하였습니다.

커맨드창에서 "mysql -u root -p db명 < 백업파일명.sql"

복원중에 중복데이터가 오류가 생겨서 2개 라인정도만 내용을 살짝 바꾸고 복원을 하고

DB내용을 확인하니 기존 G5테이블외에 G4테이블 생성이 된걸 확인하고

한글깨짐도 없이 정상적으로 입력이 되었습니다.

(참고로 오류내용은

ERROR 1062 (23000) at line 1557: Duplicate entry '2014-07-04-諛붾퉬?-121.139.99.56' for key 'index1' 

ERROR 1062 (23000) at line 1678: Duplicate entry '2016-04-21-?곗닔?-211.207.90.197' for key 'index1' 

이렇게 두 곳이었는데 제일끝에 IP로 보이는 부분을 제일 마지막 숫자만 다르게 바꿔서 저장하였습니다.)

 

그리고 마지막으로 새로 설치한 그누보드5 최고관리자 로그인한후

g4_import.php를 실행하고 컨피그 파일 위치에"./config_utf8.php"로 지정하고

확인을 누르 완료가 되었다고 재빠르게 화면을 표시해 주는데

실상 다시 열어보면 g4테이블에만 데이터가 남아 있고 g5쪽에는 들어가져 있지 않습니다.

 

82361309fb53b75eedecfc492dd48d70_1468363283_0594.jpg
82361309fb53b75eedecfc492dd48d70_1468363283_0348.jpg
 

 

뭐가 문제인지 도저히 모르겠습니다.ㅡ.ㅜ

이 질문에 댓글 쓰기 :

답변 2

g4_import_run.php를 열어서

sql_query(" INSERT INTO {$g5['member_table']} SET $sql_common ");

--->아래 처럼 수정해서 실행해보세요. 오류가 보일 겁니다

sql_query(" INSERT INTO {$g5['member_table']} SET $sql_common ", true); exit;

 

 

말씀하신데로 실행해보았으나 동일하고 오류나 차이점을 발견하지는 못했습니다.
혹시 어디서 어떤오류가 확인이 될지 예를 들어주실 수 있으신가요?

균이님 덧글을 못봤었네요..;;
우선 급한데로 노가다로 기존 그누4 db에서 데이터 있는테이블들을
그누5의 테이블 형식이 맞추어놓은다음 그누5테이블 삭제, 그누4테이블을 그누5테이블 이름으로
변경해서 처리했습니다.
ㅡ.ㅜ;
우선 급한거 정리 좀 하고 균이님말씀처럼 해보겠습니다.
관심가져주셔서 감사합니다.^^

오류내용으로 봐서는 중복 데이터 입력오류로 보이지만 그 원인으로는  캐릭터셋 설정이 맞지 않는 문제 인거같습니다.

 

보통 utf-8 에서 utf-8로 이전하는부분은 큰 문제가 없으나 euc-kr 디비에서 utf-8로 이전시에는 문제가 발생할수있습니다. 문서의 언어셋 테이블의 언어셋 다 맞춰주셔야 합니다. 

 

mysqldump --default-character-set=utf8 디비명 > 파일
 
혹시 덤프된 테이블의 캐릭터 셋이 utf8이 아닌 경우로 지정되어 있을경우 utf8로 변경
 
mysql --default-character-set=utf8 < 파일

 

 

 

말씀해주신 내용으로 봐서는 DB이전시 한글깨짐등의 문제가 발생할때 해당되는 사항일거 같습니다.
새로운 그누보드5의 DB에 기존 그누보드4DB를 합치는것까지는 성공했고
g4_import.php에서 이전이 안되는 부분이라서 ^^;;

답변을 작성하시기 전에 로그인 해주세요.
전체 110
QA 내용 검색

회원로그인

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