갠홈 데이터 로컬환경에 백업하기
- PHP 5.5
- MySQL 5.1
이라는 구닥다리로 대충 10년 묵은 웹호스팅에서 사용했다.
여기에 아보카도 에디션을 설치하여 사용중이었는데
새로 팔 홈은 라공에디션을 사용할 거라서 대대적으로 웹호스팅 사양부터 손대기로 함
도메인은 기존과 동일하게 사용하고 싶어서 닷홈 쪽에 문의하여 동일 ftp 아이디로 계정 신청 가능하게 요청하면 된다는 답변을 받았다.
다만 단종된 구닥다리 상품(유료) 잔여기간이 1년 넘게 남아있는 부분은 이전이 되지 않아 따로 환불을 받아야한다고 해서 관련된 자세한 진행 순서나 새 웹호스팅 상품 구매 외에 필요한 추가금이 있는지 추가 문의를 남겨둔 상태. 기존 데이터를 굳이 가져갈 필요가 없어서 계정 이전 기술지원까지는 필요 없을 거 같아서 계정이전에 드는 3만원이 과연 빠질지가 가장 궁금하다.
→ 이거 결국 데이터 이전과는 별개로 동일한 도메인 사용을 위해서 서비스가 필요했다. 추가결제 함!
전체적인 흐름은 대략 아래와 같았음
(1) 동일 FTP 아이디로 신청할 수 있게 조치해달라고 요청 → 조치 완료 답변 확인
(2) 동일 FTP 아이디로 새 웹호스팅 신청 후 계정 이전 신청+계정이전 서비스 비용 결제
: 계정이전을 신청하되 이전 데이터를 가져오지는 않는 방식으로 진행 요청
(3) 구 계정(유료. 사용기간 남아있었음) 해지됨
(4) 구 계정 환불 신청 → 환불은 신청하고 영업일 기준 2~3일 걸린 듯.
답변을 기다리며 우선 구닥다리 홈을 백업해두었다.
따로 온라인에 올릴 필요는 없으니까 php5.5 환경을 지원하는 오토셋8을 사용하여 내 컴에 백업하고 열어볼 수 있게 하기로 했다.
(참고: 오토셋(Autoset)을 이용한 윈도우에 서버를 직접 설치해서 그누보드 연습하기와 연관된 글 시리즈)
- 우선 오토셋8의 홈 디렉토리(C:\AutoSet8\public_html)에 ftp 상의 아보카도 폴더를 그대로 다운 받아 넣는다.
- 웹호스팅에서 제공하는 phpmyadmin에서 내보내기를 통해 sql 파일을 다운 받는다.
- 오토셋8 실행하고 웹서버와 mysql이 모두 실행되어있는 것을 확인한 뒤, 제어>phpmyadmin>데이터베이스>새 데이터베이스 만들기>기존 사용하던 DB명과 동일한 데이터베이스를 만든다.
- 백업>MySQL 데이터 가져오기>적용할 데이터베이스로 (3)에서 만든 녀석을 선택하고, 파일찾기 통해서 2에서 다운받은 sql 파일을 선택하고 확인을 누른다.
- 제어>내 홈페이지 접속 을 누르면 오류가 발생할 것이다.
Connect Error: Access denied for user '사용하던 DB명'@'localhost' (using password: YES)
이건 내가 기존에 사용하던 디비의 루트계정인 [ '사용하던 DB명'@'localhost' ] 과 [비밀번호]가 현재 오토셋으로 설치된 디비의 루트계정(아마 root@root였던 걸로 기억)이 일치하지 않아서 발생하는 문제이다.
- 오토셋8을 통해 접속한 phpmyadmin에서 사용자>사용자추가
>사용자명:기존디비명
>호스트: localhost
>암호:기존 디비 phpmyadmin 로그인 시 사용하던 비번
> 전체적 권한 (모두 체크 클릭)하여 계정을 생성하고 홈페이지에 재접속하면 로컬에서 그대로 내 아보카도 갠홈을 옮겨와 열어볼 수 있게 된다!
나는 이걸 백업용으로 썼지만, 지금 웹상에서 굴리는 갠홈을 수정할 때 로컬에서 동일 환경을 구성하려고 할 때에도 응용할 수 있을 것이다.
이미지 파일을 포함한 갠홈 데이터 백업 시
[ 이미지 파일을 포함한 데이터의 백업 시 ] 라고 예전에 방법을 찾아서 백업해뒀던 방법을 뒤져서 찾아왔다!
1. data > file 내의 이미지 파일들을 이동
2. db의 avo_board_file 테이블 데이터 가져오기
2-1. 기존의 테이블명과 새 테이블명이 다른 경우 avo_board_file 에서 bo_table 값을 새 테이블명으로 바꿔주어야 함
3. db의 가져오려는 avo_write_[테이블명] 데이터 가져오기
3-1. 기존의 테이블명과 새 테이블명이 다른 경우 avo_write_[테이블명] 데이터의 내용을 내보내기 해서 받은 sql문 내의 이전 테이블명을 모두 새 테이블명으로 바꿔주어야 함
이 순서로 진행해야 제대로 이미지까지 가져와짐
sql문 참고
기존 테이블명:memo새로 데이터를 넣으려는 테이블명:book
인 경우
레코드 확인
SELECT * FROM avo_board_file WHERE bo_table = 'memo';bo_table 값 변경
UPDATE avo_board_file
SET bo_table = 'book'
WHERE bo_table = 'memo';db 변경 전에 백업해두면 좋음
CREATE TABLE avo_board_file_backup AS
SELECT * FROM avo_board_file;→wr_protect 컬럼 생성 후 데이터 가져오면 됨
동일한 테이블명으로 게시판 생성 후 만들어진 테이블을 drop하고
이전 테이블 데이터를 구조+데이터 모두 내보내기로 가져와서 테이블 새로 생성하면
구조가 이전 게시판과 동일하게 만들어지니 컬럼 관련 문제 없이 바로 연결되기는 함...
백업용도로는 이 방법 쓰면 될듯
이전 테이블 데이터를 구조+데이터 모두 내보내기로 가져와서 테이블 새로 생성하면
구조가 이전 게시판과 동일하게 만들어지니 컬럼 관련 문제 없이 바로 연결되기는 함...
백업용도로는 이 방법 쓰면 될듯
- 이전글v1.4.5 → v1.7.0 업데이트 26.06.02
- 다음글관리자 계정 비밀번호 분실 시 (db수정필요) 26.05.25
댓글목록
등록된 댓글이 없습니다.