BOARD

문제 해결

그누보드 5 전체 회원 포인트 초기화 방법 및 주의사항

페이지 정보

profile_image
작성자 최고관리자
댓글 0건 조회 14회 작성일 26-10-01 16:09

본문

그누보드 5 전체 회원 포인트 초기화 방법 및 주의사항

그누보드 운영 중 전체 회원의 포인트를 0으로 초기화하고 포인트가 다시 합산되는 문제를 해결하는 방법을 알아봅니다.

포인트 재합산 원인

회원 테이블(g5_member)의 mb_point 값만 0으로 변경하더라도 포인트가 다시 살아나거나 합산되는 이유는 포인트 지급 및 증감 방식 때문입니다.

그누보드에서는 단순히 회원 필드의 값을 0으로 바꾸더라도, 포인트 테이블(g5_point)에 기존에 지급되었던 내역이 그대로 남아 있으면 다음 번에 포인트가 지급될 때 0에서 증감하는 것이 아닙니다. 포인트 테이블의 지급 내역에서 기존 값을 모두 합산한 후 그 값을 기준으로 포인트를 증감시키기 때문에 이전 내역이 남아 있는 한 포인트가 다시 합산되어 나타납니다.

따라서 전체 회원의 포인트를 완전히 0으로 초기화하려면 g5_member 테이블의 mb_point 값만 수정하는 것이 아니라, 포인트 지급 내역이 기록되는 g5_point 테이블까지 함께 비우거나 초기화해야 합니다.

phpMyAdmin을 이용한 전체 회원 포인트 및 내역 초기화 방법

그누보드에서 모든 회원의 포인트를 0으로 만들 때 단순히 회원 테이블의 포인트 값만 변경하면, 이후 포인트가 지급될 때 기존 내역이 다시 합산되어 포인트가 복원될 수 있습니다. 따라서 회원 테이블과 포인트 내역 테이블을 함께 초기화해야 합니다.

사전 주의사항

  • 초기화 이후에는 별도의 데이터베이스(DB) 백업본이 없으면 복구가 불가능하므로, 실행 전 반드시 DB를 백업해야 합니다.

초기화 실행 순서

  1. phpMyAdmin 또는 웹어드민에 로그인한 후, 만일을 대비해 그누보드 DB를 내보내기로 백업합니다.
  2. g5_point 테이블을 선택한 뒤 비우기를 실행합니다.
  3. phpMyAdmin의 SQL 질의창에 아래의 쿼리를 입력하고 실행합니다.
    UPDATE g5_member set mb_point = 0;
  4. 관리자 포함 모든 회원의 포인트 내역과 보유 포인트가 정상적으로 0으로 초기화되었는지 확인합니다.

PHP 파일을 생성하여 전체 포인트 초기화 실행하기

phpMyAdmin 등 DB 툴을 직접 사용하기 어려운 환경에서는 서버에 스크립트 파일을 업로드하여 최고관리자 권한으로 전체 회원 포인트를 일괄 초기화할 수 있습니다. 초기화 작업 후에는 별도의 데이터베이스 백업본이 없이는 복구가 불가능하므로 사전에 DB 백업을 반드시 진행해야 합니다.

1. point_reset.php 파일 생성

그누보드가 설치된 디렉토리에 point_reset.php 파일을 생성하고 아래의 코드를 입력합니다.

<?php
include_once('./_common.php');
if ($is_admin!= 'super') {
 alert('최고관리자만 가능합니다.', G5_URL);
}
// 포인트 전체 초기화
sql_query(" delete from {$g5['point_table']} ");
sql_query(" alter table {$g5['point_table']} auto_increment=1 ");
sql_query(" update {$g5['member_table']} set mb_point=0 ");
alert('초기화되었습니다.', G5_URL);
?>

2. 파일 업로드 및 실행

  1. 작성한 point_reset.php 파일을 그누보드가 설치된 서버 경로에 업로드합니다.
  2. 웹브라우저 주소창에 해당 파일의 경로를 입력하여 접속하고 실행합니다.
  3. 최고관리자 권한으로 로그인된 상태여야 실행이 가능하며, 권한이 없을 경우 경고창이 발생합니다.

3. 주의사항

  • 초기화 작업이 완료된 후에는 보안을 위해 서버에 업로드한 point_reset.php 파일을 반드시 삭제해야 합니다.
  • 초기화 후에는 복구가 불가능하므로 실행 전 유의해야 합니다.

전체 회원 포인트 초기화 작업 시 주의사항

그누보드에서 전체 회원의 포인트를 초기화할 때는 데이터 유실과 복구 불가능한 상황에 대비하여 반드시 사전 조치를 거쳐야 합니다.

필수 사전 조치

  • DB 백업: 포인트 초기화 작업 후에는 별도의 데이터베이스 백업본이 없이는 복구가 불가능합니다. 작업 전 반드시 phpMyAdmin이나 웹어드민 등을 통해 그누보드 데이터베이스 전체를 내보내기하여 백업을 받아야 합니다.
  • 사전 테스트: 운영 환경에 곧바로 적용하기 전 테스트 서버에서 미리 테스트를 진행하여 예상치 못한 데이터 유실이나 오류에 대비하는 것이 안전합니다.

전체 회원 포인트 초기화 절차

  • 내 상황: 포인트 초기화 후에도 포인트가 다시 합산되어 나타나는 경우
    • 선택 기준: DB 관리 툴(phpMyAdmin 등) 사용 가능 여부
    • 다음 행동: g5_point 테이블의 데이터를 비우고(Truncate), g5_member 테이블의 mb_point 값을 0으로 업데이트하는 SQL을 실행합니다.
  • 내 상황: DB 툴 접근이 어렵거나 일괄 처리가 필요한 경우
    • 선택 기준: 최고관리자 권한으로 서버 파일 업로드 가능 여부
    • 다음 행동: 그누보드 설치 경로에 point_reset.php 파일을 생성하여 포인트 테이블 삭제 및 회원 포인트 초기화 코드를 실행하고, 작업 후 파일을 즉시 삭제합니다.

자주 묻는 질문

  • Q. 포인트 초기화 후에도 포인트가 다시 합산되는 이유는 무엇인가요?
    • 그누보드는 포인트 증감 시 g5_point 테이블의 지급 내역을 합산하여 계산합니다. g5_member 테이블의 값만 0으로 수정해도 내역이 남아있으면 다음 포인트 발생 시 이전 내역까지 합산되므로, 반드시 g5_point 테이블을 함께 초기화해야 합니다.
  • Q. 작업 시 주의사항이 있나요?
    • 초기화 후에는 이전 포인트 내역을 복구할 수 없습니다. 작업 전 반드시 phpMyAdmin 등을 통해 데이터베이스 전체를 백업하십시오.

함께 보면 좋은 글

참고자료

기타 참고자료

댓글목록

등록된 댓글이 없습니다.