디지문 호스팅을 이용하시는 분들이 겪으실 만한 문제들의 해결책을 알려 드립니다. 평소 회원님들께서 올려주시는 질문/건의 글을 디지문이 참고해서 공통적으로 자주 겪고 계실 만한 문제라고 판단이 되는 부분에 대해 정리한 내용을 주로 올리도록 하겠습니다.
이 문제의 원인은 간단합니다.
대부분의 상용 웹호스팅 업체에서는 MySQL 3.x 버전 또는 4.0.x 이하 버전으로 APM을 세팅해서 운영하고 있습니다. Mysql 4.1.x 버전으로 업그레이드를 하게 되면 3.x 버전에서 제로보드를 사용해 왔을 시 기존의 16byte 암호 체계에서 보안을 강화하기 위해 41byte 암호 체계로 업그레이드 되어 기존의 암호가 Mysql 4.x 버전의 암호 체계와 호환이 되지 않아 로그인이 안 되는 문제가 발생합니다.
4.0 이하의 버전에서는 password 함수가 16바이트의 문자열을 만들어 냈습니다. 4.1 이상에서는 41바이트의 문자를 만들어냅니다.(정확히는 40바이트 + "*"(별표 문자)입니다.)
디지문 호스팅은 Mysql 4.1.22 로 세팅해서 운영하고 있기 때문에 기존에 다른 호스팅을 이용하시다가 이 곳으로 이주하신 분의 경우 Mysql 4.0.x 이하 버전의 DB를 갖고 오셨으면 해당 DB로는 로그인할 수가 없게 됩니다. 그리고 제로보드를 처음 설치하시는 경우 역시 Mysql 문제 때문에 에러 메시지를 뿜게 되는 것입니다. 그러므로 제로보드의 환경 설정 파일을 수정해서 41바이트 암호 체계를 사용할 수 있도록 조치해 주어야 합니다.
첨부된 파일인 schema.sql 파일을 제로보드가 설치된 폴더에 덮어씌운 뒤 웹상에서 설치를 진행하시면 '관리자 테이블 생성 실패'라는 문제를 해결할 수 있습니다.
Mysql 4.0.x 이하 버전의 DB를 쓰다가 이 곳으로 이주해 오신 분의 경우는 아래 링크의 팁을 참고하세요.
http://www.zeroboard.com/?mid=zb4_tip&search_target=title&search_keyword=%EC%9D%B4%EC%A0%84&document_srl=855749
리플을 보니 php 버전이 달라서 그런가보다 하는 분이 있는데 php 버전이 달라져서 그런 게 아니라 Mysql 버전이 달라져서 발생하는 문제입니다. 참고 바랍니다. 그래서 꼼수로 php 구문을 수정해서 예전 DB는 예전 패스워드로 로긴하게 하고 최신 DB는 본래 패스워드로 로긴하게 해 주는 겁니다.
대부분의 상용 웹호스팅 업체에서는 MySQL 3.x 버전 또는 4.0.x 이하 버전으로 APM을 세팅해서 운영하고 있습니다. Mysql 4.1.x 버전으로 업그레이드를 하게 되면 3.x 버전에서 제로보드를 사용해 왔을 시 기존의 16byte 암호 체계에서 보안을 강화하기 위해 41byte 암호 체계로 업그레이드 되어 기존의 암호가 Mysql 4.x 버전의 암호 체계와 호환이 되지 않아 로그인이 안 되는 문제가 발생합니다.
4.0 이하의 버전에서는 password 함수가 16바이트의 문자열을 만들어 냈습니다. 4.1 이상에서는 41바이트의 문자를 만들어냅니다.(정확히는 40바이트 + "*"(별표 문자)입니다.)
디지문 호스팅은 Mysql 4.1.22 로 세팅해서 운영하고 있기 때문에 기존에 다른 호스팅을 이용하시다가 이 곳으로 이주하신 분의 경우 Mysql 4.0.x 이하 버전의 DB를 갖고 오셨으면 해당 DB로는 로그인할 수가 없게 됩니다. 그리고 제로보드를 처음 설치하시는 경우 역시 Mysql 문제 때문에 에러 메시지를 뿜게 되는 것입니다. 그러므로 제로보드의 환경 설정 파일을 수정해서 41바이트 암호 체계를 사용할 수 있도록 조치해 주어야 합니다.
첨부된 파일인 schema.sql 파일을 제로보드가 설치된 폴더에 덮어씌운 뒤 웹상에서 설치를 진행하시면 '관리자 테이블 생성 실패'라는 문제를 해결할 수 있습니다.
Mysql 4.0.x 이하 버전의 DB를 쓰다가 이 곳으로 이주해 오신 분의 경우는 아래 링크의 팁을 참고하세요.
http://www.zeroboard.com/?mid=zb4_tip&search_target=title&search_keyword=%EC%9D%B4%EC%A0%84&document_srl=855749
리플을 보니 php 버전이 달라서 그런가보다 하는 분이 있는데 php 버전이 달라져서 그런 게 아니라 Mysql 버전이 달라져서 발생하는 문제입니다. 참고 바랍니다. 그래서 꼼수로 php 구문을 수정해서 예전 DB는 예전 패스워드로 로긴하게 하고 최신 DB는 본래 패스워드로 로긴하게 해 주는 겁니다.