커피닉스, 시스템 엔지니어의 쉼터
  MySQL 기동시 자동 파일 복구 기능 (글 김주현) 작성일 : 2003/10/22 23:31
 
  • 글쓴이 : 좋은진호 ( http://coffeenix.net/ )
  • 조회수 : 8409
     
    출처 : 리눅스 사랑넷 http://linux-sarang.net/board/?p=read&table=tip&no=6619

    -----------------------------------------------------------------------
    2003번: MySQL 기동시 자동 파일 복구 기능
    글쓴이: 김주현    글쓴날: 2002-06-17 13:47:19    읽은수: 662


    갑작스런 정전이나 하드웨어의 오류 기타 어떠한 이유로 table file이
    손상될 수 있습니다.

    이 경우 Myisamchk 나 check table명령어를 사용하여 수동으로 복구하여야
    하는데 자동으로 복구하는 방법도 있어서 소개해드립니다.

    이 기능은 MySQL기동시 table 이 crash marking이 되어 있는지 혹은 적절히 close 되지 않았는지 체크하는 기능으로 mysqld 의 파라메터로 지정해주도록 되어 있습니다.

    --myisam-recover = {default | backup | force | quick }

    DEFAULT : 이 옵션은 아무 옵션도 주지 않은 것과 동일한 의미로 자동 복구를 사용하지 않는다는 의미입니다.

    BACKUP : 추천하는 옵션으로 복구중 변경되는 테이블은 BAK확장자를 붙여서
    백업을 해놓고 복구에 들어간다는 옵션입니다.
    이를테면 table_name.MYD 의 table_name-datetime.BAK 백업 파일이
    만들어지고 자동 복구에 들어갑니다.

    FORCE : 복구시 테이타 손실이 일어나거나 말거나 강제로 복구하는 옵션입니다.

    QUICK: 만약 테이블에 어떠한 삭제된 블락도 없다면 table에 row를 점검하지
    않습니다. 속도는 빠르지만 완벽한 복구는 보장할 수 없습니다.


    /etc/rc.d/init.d/mysql 같은 startup script에 아래 부분을 수정해주시고 MySQL을 재시작하시면 됩니다.

    .
    .
    .
    case "$mode" in
    'start')
    # Start daemon

    if test -x $bindir/safe_mysqld
    then
    $bindir/safe_mysqld --myisam-recover=backup (수정할 부분)
                             ~~~~~~~~~~~~~~~~~~~~~~~
    .
    .
    .

    service mysql stop (MySQL중단)
    service mysql start (MySQL재시작)


    커피닉스, 시스템 엔지니어의 쉼터 / URL : http://coffeenix.net/board_view.php?bd_code=104