커피닉스, 시스템 엔지니어의 쉼터
  MySQL 복구방법 작성일 : 2003/10/18 22:49
 
  • 글쓴이 : 좋은진호 ( http://coffeenix.net/ )
  • 조회수 : 13688
     
    2003.7월에 리눅스사랑넷에 답변한 내용입니다.

    http://linux-sarang.net/board/?p=read&table=qa&no=196400
    ---------------------------------------------------------------------
    03393번 글의 답장글: RE: MySQL frm 파일을 지우고 다시생성할 수 있나요?
    글쓴이: 좋은진호    글쓴날: 2003-07-16 01:41:19


    복구전에 기존에 살려둔 .MYI, .MYD, .frm 파일을 꼭 별도로 보관해 두세요.

    .frm만 깨졌을 경우 DDL문을 가지고 있다면, 복구가 쉽게 끝날 수도 있습니다.
    깨진 table과 똑같은 구조의 다른이름 table을 새로 생성하세요.
    예) 깨진 테이블이 test라면, 임시로 test-temp로.

    그러면 DB경로에 .frm, .MYI, .MYD가 생성될겁니다. 이 파일 중 test-temp.frm 를
    test.frm으로 복사하고 mysql client로 확인해보세요.
    성공적이라면 test-temp 테이블은 삭제.

    위와 같이해도 안되면,
    mysql> 상에서 repair table <테이블명> 으로 복구할 수도 있고, MySQL에 함께 제공하는 myisamchk 이라는 북구툴도 이용할 수 있습니다.
    특별히 InnoDB type으로 table을 생성한 경우(보통 MyISAM type임)가 아니라면
    이 툴로 또다른 문제에 대해서도 복구가능합니다.

    myisamchk -r -q 테이블명 또는
    myisamchk --safe-recover 테이블명

    테이블명은 실제 .MYI 등 파일이 있는 경로를 쭉 써주세요. (DB명=abcd, table=test)
    예) myisamchk -r -q /usr/local/mysql/var/abcd/test

    자세한 복구방법은 mysql site에 있구요.
    http://www.mysql.com/doc/en/Repair.html

    .MYD 파일에 큰 문제가 없다면 복구될 겁니다. 꼭 성공하시길.

    : 서버가 맛탱이가 간후
    :
    : 간신히 파일만 살려서 새로운 서버에다가 옮겼습니다.
    :
    : 데이터도 있는데.. frm 파일에서 "화일의 부정확한 정보"
    :
    : 라는 에러가 뜹니다.
    :
    : 테이블의 컬럼 정보가 잘못되어서 깨졌나 봅니다.
    :
    : 복구할수 있는 방법이 있을까여?
    :
    : --
    : 감사합니다


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