하나의 계정에 두개의 홈피를 설치하다가 그만 에러가 발생 했거든요 > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

하나의 계정에 두개의 홈피를 설치하다가 그만 에러가 발생 했거든요 정보

하나의 계정에 두개의 홈피를 설치하다가 그만 에러가 발생 했거든요

본문

안녕하세요
하나의 계정에 두개의홈피를 설치하다가 그만 심각한 오류를 발생 시기고 말았습니다.
 
 
이런 오류가 생기는 데 어떻게 해야 할 까요?
select count(*) as cnt from g4_auth where mb_id = ''
1146 : Table 'cds13.g4_auth' doesn't exist
error file : /index.php
 
 
설피된 홈피를 모두 삭제하고 다시 설치해야 하는 것인지요?
 
그누 홈피 두개를 모두 삭제하고 재설치 하면
데이타 베이스에 있는 자료도 삭제되는 것인가요.
조언을 주시면 감사하겠습니다.

댓글 전체

-. 문제 해결 전 검토해야 할 사항
동일 계정에 두개의 홈페이지라면,
두번째 테이블의 접두사를 변경시켜서 재설치하는 것이 일반적이며,
비교적 안전한 편에 속합니다.
이경우, 인증에 관한 테이블(g4_auth)이 두개가 모두 설치되어 있는지 확인해야 합니다.
(예) 첫번째 설치한 그누보드의 인증은 g4_auth,
두번째 설치한 그누보드 인증 테이블은 g4_2_auth와 같은 형태.

-. 본 내용
설치관련 스키마가 포함된 경로(예 : /install/, 또는 /install.bak/)에서,
sql_gnuboard4.sql의 최상단부에 위치하는 소스코드를 참조.

-. 원본소스
DROP TABLE IF EXISTS $g4[auth_table];
CREATE TABLE $g4[auth_table] (
  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)
) TYPE=MyISAM;

-. 수정할 형태(auth테이블이 없다면 웹에서 관리자 로그인이 안되리라 여겨집니다.)
1번 방법 : 상단의 소스코드를 그대로 사용해 웹에서 실행하는 방법
2번 방법 : 상단의 소스코드를 sql형태로 변형해서 셀에서 실행하는 방법

1번 방법(drop table만 제거하는 이유는 혹시라도 권한없는 사용자가 불법적인 접근으로
auth테이블을 생성하는 소스코드를 실행시켜 테이블 구성 및 내용 자체를 초기화 시켜버릴
우려가 발생되기 때문입니다.

<?
CREATE TABLE $g4[auth_table] (
  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)
) TYPE=MyISAM;
?>

2번 방법(소소크도의 최하단만 제거)
CREATE TABLE $g4[auth_table] (
  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)
);

상단의 내용을 적당한 파일(예 : auth.sql)로 만들어 셀에서 실행시키기.
(예) mysql -u 계정이름 -p DB이름 < auth.sql  엔터
패스워드입력  엔터
=======================================================================
지금 이 메세지는 'cds13.g4_auth' 라는
테이블이 없다는 메세지인데요~

두개의 홈페이지와 상관없는 것 같은데요~

혹시 그누보드를 지워셨나요??
> 두개의홈피를 설치하다가 ...
최초에 설치한 후 두번째 설치할 때 설치될 테이블의 접두사를 변경시키지 않고,
중복으로 설치할 시도해서 발생된 것이라 추측할 수 있으며,

본문과 같은 형태의 테이블 오류(select)가 발생된다는 것은,
DB 전체내용이 삭제되었다고 보는 것 보다는,
그누보드 설치시 가장 먼저 언급되는 auth 테이블이 제거되고
멈춰 버렸다고 볼 가능성도 있습니다.

물론, 이 또한 질문자의 '현재 홈페이지 상태는 어떻고, 테스트 주소는 어떠하다는 등',
세부적인 명시가 있어야 잘문내용을 명확하게 파악할 수 있는 부분입니다.

또한 그누보드는 이전에 설치되어 있더라도,
동일한 계정에서 재설치를 수행하게 된다면,
사용자가 의도했거나 그렇지 않았거나와 상관없이,
이전의 테이블은 삭제됩니다.
나스카님 답변 감사합니다.

어찌 되었건 모든 것을 삭제하고
처음것을 재설치 하였습니다. 그거 복원하느라고 고생 많이 하였습니다.


그리고 가르쳐 주신

-. 수정할 형태(auth테이블이 없다면 웹에서 관리자 로그인이 안되리라 여겨집니다.)
1번 방법 : 상단의 소스코드를 그대로 사용해 웹에서 실행하는 방법
2번 방법 : 상단의 소스코드를 sql형태로 변형해서 셀에서 실행하는 방법

1번 방법(drop table만 제거하는 이유는 혹시라도 권한없는 사용자가 불법적인 접근으로
auth테이블을 생성하는 소스코드를 실행시켜 테이블 구성 및 내용 자체를 초기화 시켜버릴
우려가 발생되기 때문입니다.

<?
CREATE TABLE $g4[auth_table] (
  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)
) TYPE=MyISAM;
?>

2번 방법(소소크도의 최하단만 제거)
CREATE TABLE $g4[auth_table] (
  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)
);

상단의 내용을 적당한 파일(예 : auth.sql)로 만들어 셀에서 실행시키기.
(예) mysql -u 계정이름 -p DB이름 < auth.sql  엔터
패스워드입력  엔터

이것에 대한 정확한 이해가 아직 부족합니다.
시일이 많이 지나서 이것에 대한 답변을 다시 주실지는 잘 모르겠습니다만 .....
전체 66,554 |RSS
그누4 질문답변 내용 검색

회원로그인

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