Postcodify 매뉴얼

백업 및 복구시 주의사항

Postcodify 2.0 이상

최신 버전에서는 저장 프로시저를 사용하지 않으므로 아래에서 언급한 것과 같은 문제는 발생하지 않습니다.

lib/resources 폴더 내의 mysqldump.sh 스크립트를 참조하여 백업하시기 바랍니다.

Postcodify 1.8 이하

일반적인 mysqldump 명령에 별다른 옵션을 주지 않고 DB를 백업하면 검색에 반드시 필요한 저장 프로시저가 포함되지 않아서 나중에 복구할 경우 문제가 생깁니다. 필요한 모든 정보가 백업에 포함되도록 반드시 --opt --routines 옵션을 사용하시기 바랍니다.

저장 프로시저의 경우 덤프를 생성한 사용자와 복구하는 사용자가 다르면 DEFINER 부분이 오류를 일으킬 수 있습니다. 만약 이런 문제가 발생한다면 덤프 파일에서 DEFINER 부분을 제거하거나 원래와 동일한 사용자 계정을 사용해야 합니다.

lib/resources 폴더 내의 mysqldump.sh 스크립트는 위의 문제들을 우회할 수 있도록 작성했으니 이 스크립트를 참조하여 백업하시면 편리합니다.

#!/bin/sh

MYSQL_HOST="localhost"
MYSQL_USER="아이디"
MYSQL_PASS="암호"
MYSQL_DBNAME="DB이름"

mysqldump --opt --order-by-primary --routines --single_transaction --no-autocommit --skip-tz-utc \
    -h$MYSQL_HOST -u$MYSQL_USER -p$MYSQL_PASS $MYSQL_DBNAME \
    | sed 's/DEFINER=`.*`@`.*` //' \
    | gzip > dump.sql.gz