뉴스/공지 HOME > 고객센터 > 뉴스/공지
 
   
  [정보] 제로보드 DB Mysql 3.x 에서 4.x로 서버이전하며 생기는 로그인…
  글쓴이 : 교회로닷컴     날짜 : 08-01-21 14:14     조회 : 12062    
안녕하세요^^ 교회로닷컴 운영진입니다
아래 내용은 자유교회 형제님께서 서버이전시 발생할수 있는 문제점을 손수해결책을
정리하여 올려주신 내용이라 공개해드립니다. ^^ 형제님! 감사드립니다.
 
저도 이래저래 알아보다가 적용해보고 문제없이 로그인 되는것을 확인했습니다.
아마도? 따라하시면 99%는 될 것입니다. ^^
 
 
기존의 mysql 4.0 이하버전에서 4.1 이상으로 업그레이드시에 문제가 발생하는 경우가 있다.
특히 제로보드 게시판 이용시에 문제가 발생하는데 이에 대한 해결방법은 다음과 같다.
mysql 4.0이하에서는 password() 함수가 20bit의 암호화된 결과를 생성하는데 비해 mysql 4.1이상부터는 password() 함수가 41bit의 암호화된 결과를 생성해낸다.
그러므로 기존의 DB에 들어있는 암호값과 비교시에 당연히 입력암호가 같다 하더라도 두개의 값이 틀리므로 로그인이 되지않는 문제가 발생한다.
 
A 서버(mysql 3.xx, EUC-KR) → B 서버(mysql 4.1, UTF-8)  DB 이전

1. A서버의 DB백업 (phpmyadmin을 이용하여 zetyx_로 시작하는 테이블만 백업)
2. editplus등의 에디터로 백업한 DB화일을 open
3. save as... 하고, 인코딩을 UTF-8 선택
4. B서버에 DB업로드 (phpmyadmin을 이용하여 3번에서 저장한 DB를 import)
 
< 제로보드 사용시의 테이블 생성에러 문제점 해결 방법 >
schema.sql 파일을 약간 수정한다.
mysql 4.1이상부터는 auto_increment 변수에 대해서 default 값을 적용하면 에러가 발생한다.
no int(10) default '0' not null auto_increment primary key
=> no int(10) not null auto_increment primary key  과 같이 default '0' 항목을 삭제한다.
 
zb4화일 이전
1. A서버의 zb4 디렉토리를 다운받는다.
2. 에디터로 아래 php 내부의 password(old_password( 로 변경한다.
 
mysql 4.1에서는 password() 함수가 변경되어 old_password()를 사용해야
이전버젼에서 저장한 암호를 제대로 읽을 수 있다.

         comment_ok.php
         del_comment_ok.php
         delete_ok.php
         install2_ok.php
         login_check.php
         lostid_search.php
         member_join_ok.php
         member_modify_ok.php
         member_out.php
         view.php
         write_ok.php
         \admin\admin_exec_member.php
         \admin\admin_view_member.php

3. B서버로 zb4를 업로드한다.
이상의 작업으로, mysql 4.1 (UTF-8) 환경으로 zb4의 이전이 완료되고,
zb4를 그대로 사용할 수 있게 되었다.

   

select count(*) as cnt from g4_login where lo_ip = '3.236.8.46'

1194 : Table 'g4_login' is marked as crashed and should be repaired

error file : /home/bbs/board.php