M:0 / G:0


  (2003-02-03 16:11:59, Hit : 3745, Vote : 0
 http://atpure.byus.net
 계정 이사하자!! DB 복구하기
홈을 운영하다 보면 불가피하게 계정을 옮겨야 하는 경우들이 있습니다.
이때 계정을 옮기고 나서 제로보드와 DB 파일들을 복구해야 하는데요.. 어떻게 하는지 알려드리겠습니다.
저번에는 간단히 명령어만 알려드려서 못하시는 분들이 계시더라구요..^^

1. 먼저 계정을 옮기기 전에는 백업을 해야 합니다.
제로보드 관리자 모드로 들어가시면 상단에 DB "백업하기" 란 메뉴가 있습니다.
그걸 눌러주세요.. 그럼 백업하시겠습니까?? 라는 메세지가 뜰겁니당.
확인 누르시면 백업파일을 저장할 경로 설정하는 창이 뜨죠?

이때 그냥 저장하시면 안되고.. 파일이름을 따옴표로 감싸주시고 저장해야 합니다.
"파일이름.sql" (확장자는 꼭 sql로..) 이런식으로요..
물론 파일형식을 모든 파일로 정해주시고 그냥 파일이름만 적어주셔도 되는데
제 경우에는 그렇게하면 이상하게 txt파일로 저장이 되서 번거롭게 sql 로 바꿔야 되더라구요..
그러니까 안되시는 분들은 제 설명대로 "파일이름.sql" 이렇게 하세요^^

나는 텔넷에 대해 잘 안다!! 하시는 분들은 텔넷에서 백업하셔두 됩니다.
텔넷에 접속한 다음 아래와 같이 적어주세요
이때 ↓↓↓ 이 부분은 계정내의 mysql 위치입니다. 계정에 따라 다르니 관리자에게 문의하세요.
/usr/local/mysql/bin/mysql -u디비아이디 -p비밀번호 DB Name > 파일명.sql
위의 예는 제가쓰는 나야나 경우입니다^^ 위치만 관리자에게 문의하시고 -u디비아이디 부분 부터는 위와 똑같이 해주시면 됩니다.

잘 모르시겠으면 걍 제로보드 관리자모드에서 백업하세요-_-;


2. 이제 백업한 파일을 새계정에 업로드합니다.
위치는 그냥 메인디렉토리로 해주세요. 계정에 접속했을때 제일 처음 나오는 디렉토리로..^^


3. 이제 텔넷에 접속하여 복구합니다.
이때 새 계정에 제로보드가 설치되어 있으면 안됩니다.
복구 과정에서 테이블이 중복되기 때문에 따로 테이블을 drop 시켜야 하는 불편함이 생기게 됩니다..-_-;;
따라서 제로보드를 설치하신 분들은 관리자모드에서 Uninstall 을 눌러 초기화 해주세요.
복구 명령어는 다음과 같습니다.

/usr/local/mysql/bin/mysql -u디비아뒤 -p비번 디비네임 < 파일명.sql
↑↑↑ 이 부분이 백업한 파일을 업로드한 위치입니다. 계정내의 mysql 위치에 따라 설정하셔야 합니다.
화살표 방향 잘 보시구 하세요.. < 파일명.sql 입니다^^


4. 이렇게 복구하였으면 제로보드 파일들을 새 계정에다 업로드합니다.
전에쓰던 스킨파일과 데이터들은 나중에 옮겨주면 되니 우선 처음 설치하듯이 제로보드 파일들을 올립니다.
그리고 매뉴얼대로 폴더권한 바꿔주시고..


5. http://새계정주소/제로보드폴더/install.php 하여 예전 계정의 제로보드 관리자 아이디와 비번으로 로그인합니다.
그럼 낯익은 화면이 나오죠?? 회원들과 게시판 모두 그대로 살아있을겁니다.


6. 이제 자잘한 복구를 해줘야 합니다.
스킨 폴더에 전에 쓰던 스킨들도 그대로 예전 계정에서 다운받아 올려주시고..
첨부파일들은 모두 data 폴더안에 들어있으므로 이것도 백업받아 올려야 정상적으로 복구됩니다.
그런데 data 폴더는 권한이 없어서 백업을 못합니다. 따라서 강제로 퍼미션을 바꿔주셔야 해요..

※강제 퍼미션 변경 (nobody 퍼미션 777로 강제 변경하기)

웹 호스팅을 하고 있기때문에 root 권한을 가질 수 없고,
data 디렉토리의 퍼미션이 707, 주인은 nobody 이기 때문에 퍼미션을 바꿀수가 없습니다.
이럴때는 다음과 같이 하여 퍼미션을 강제로 바꿔줘야 합니다.

1) p.php 라는 파일을 하나 만든다.
2) 내용은 <? exec("chmod -R 777 zb41/data"); ?>
3) 예전계정의 제로보드를 폴더안에 p.php 파일을 올리고
4) http://예전계정주소/제로보드폴더/p.php 를 실행시킨다.
5) p.php 가 실행되면서 퍼미션이 바뀐다.

이렇게 해서 FTP 에 접속하면 data 폴더내의 다른 폴더에 접근이 가능합니다.
잘 모르시겠으면 서버관리자에게 폴더 퍼미션 변경해달라고 하면 아마 해줄거에요^^
data 폴더내의 구조 그대로 백업받아야 이전할 새 계정에서도 이상없이 잘 됩니다. 폴더이름이나 파일이름 절대로 변경하지 마세요..

이제 data 파일들을 새 계정에다 올리시면 복구는 거의다 될겁니다^^
그래도 안되는 부분은 노가다로.....-_-;;


7. 마지막으로 검토해봐야 할 부분이 있죠^^
제로보드 폴더안의 setup.php 에서 관리자 이메일이랑, 사이트 주소랑.. 등등 이거 설정 꼭 해주셔야 하구요^^

또 디비 복구하고 난 뒤 꼭 생기는 문제점이 복구후에 가입한 회원들의 포인트가 올라가지 않는다는 겁니다.
회원 리스트 보면 포인트부분이 보통 (0/0) 이런식으로 되어있어야 정상인데
(/) 이렇게 되어있으면 포인트 필드의 기본값이 없는 경우이니 다음처럼 수정해주셔야 합니다.

1) 위의 첨부파일을 다운받으시고 압축을 풀면 point_modify.php 라는 파일이 나옵니다.
2) 이 파일을 새 계정의 제로보드 폴더안에다 업로드합니다.
3) 주소창에 http://계정주소/제로보드폴더/point_modify.php 라고 입력합니다.
4) "눌러주 ^-^)/" 버튼을 누르면 성공 메세지와 함께 포인트가 잘 올라가게 됩니다^^

- 위의 첨부파일은 제로보드 사이트의 순진소녀 님께서 만드신 겁니다^-^ -

만약 포인트 필드의 기본값이 없는 상태에서 새로 가입한 회원들이 있을 경우에는
그 이후에 저 파일로 기본값을 넣어줘도 이전에 가입한 회원들은 복구되지 않습니다.
그럴때는 임시방편이지만 회원 포인트수정 프로그램을 다운받으셔서 작성글수와 코멘트수에 0, 0 을 넣어주시면 됩니다.
회원 포인트수정 프로그램은 특별강좌방에 올려져 있습니다~




  계정 이사하자!! DB 복구하기   2003/02/03 3745

1
   
Copyright 1999-2021 Zeroboard / skin by LN